This is a small library designed to make dealing with URLs in Javascript easier.
var url = new JSUrlify('https://foo.com/hello?one=1&two=2#bar')
url.scheme()
-> "https"
url.scheme("http")
-> "http"
url.toString()
-> "http://foo.com/hello?one=hello+%26+goodbye&two=2#bar"
url.authority()
-> "foo.com"
url.path()
-> "/hello"
url.attribute_names()
-> ["one", "two"]
url.one
-> "1"
url['one']
-> "1"
url.two
-> "2"
url['two']
-> "2"
url.fragment
-> "bar"
url.one = "hello & goodbye"
-> "hello & goodbye"
url.toString()
-> "http://foo.com/hello?one=hello+%26+goodbye&two=2#bar"
url['three'] = 3
-> 3
url.toString()
-> "http://foo.com/hello?one=hello+%26+goodbye&two=2&three=3#bar"
url.prepend("zero",0)
url.toString()
-> new
url.remove("three")
-> "3"
url.toString()
-> "http://foo.com/hello?one=hello+%26+goodbye&two=2#bar"
url.append("z","zee")
url.toString()
-> "http://foo.com/hello?one=hello+%26+goodbye&two=2&z=zee#bar"
url.query({abc: 123, fraggle: "rock"})
url.toString()
-> "http://foo.com/hello?abc=123&fraggle=rock#bar"
url.query("a=b&c=d")
url.toString()
-> "http://foo.com?a=b&c=d#bar"
url.clear_fragment()
url.toString()
-> "http://foo.com/hello?a=b&c=d"
url.clear_query()
url.toString()
-> "http://foo.com/hello"
url.clear_scheme()
url.toString()
-> "/hello"
url.scheme("http")
url.toString()
-> "http://foo.com/hello"
url.clear_path()
-> "http://foo.com"
url.go()
// Changes browser location
Currently the test suite is run against:
- Firefox 2.0
- Firefox 3.0
- Firefox 3.5
- Firefox 3.6
- Firefox 4.0
- Google Chrome
- Safari 3
- Safari 4
- Safari 5
- Opera 9
- Opera 10
- Opera 11
- IE 8
Currently Internet Explorer 6 and 7 are not supported. IE9 should work fine, but has not been built into the automated testing.
Testing is done using Jasmine, with Ruby used to help automate things.
-
Install Ruby
-
Install Bundler
$ gem install bundler
-
Install Gems with Bundler
$ cd jsurlify $ bundle install
To run the tests on a browser that is local to your machine
$ cd jsurlify
$ rake jasmine
Then open your local browser to http://localhost:8888
You will need an account at Saucelabs then run:
$ cd jsurlify
$ SAUCE_USERNAME=<YOUR USERNAME> SAUCE_ACCESS_KEY=<YOUR ACCESS KEY> rake jasmine:ci:sauce