diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-10-10 03:47:49 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-10-10 03:47:49 +0200 |
commit | 21e6b15991212e21a0bd9928890e8e8518f367e8 (patch) | |
tree | 3859320d916ff6c2e2fbe2f022375827fa28997c /thirdparty/URI.js/test/test_fragmentQuery.js | |
parent | 02fa518542328183f35ae04d389b61226f4c4e30 (diff) | |
parent | d5194154335d6cb30edca9b648083069faf9778c (diff) |
Merge commit 'd5194154335d6cb30edca9b648083069faf9778c' as 'thirdparty/URI.js'
Diffstat (limited to 'thirdparty/URI.js/test/test_fragmentQuery.js')
-rw-r--r-- | thirdparty/URI.js/test/test_fragmentQuery.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/thirdparty/URI.js/test/test_fragmentQuery.js b/thirdparty/URI.js/test/test_fragmentQuery.js new file mode 100644 index 000000000..a98406bfe --- /dev/null +++ b/thirdparty/URI.js/test/test_fragmentQuery.js @@ -0,0 +1,59 @@ +(function() { + 'use strict'; + /*global URI, test, equal, deepEqual */ + + module('URI.fragmentQuery'); + test('storing query-data in fragment', function() { + var u = URI('http://example.org'); + + deepEqual(u.fragment(true), {}, 'empty map for missing fragment'); + + u = URI('http://example.org/#'); + deepEqual(u.fragment(true), {}, 'empty map for empty fragment'); + + u = URI('http://example.org/#?hello=world'); + deepEqual(u.fragment(true), {hello: 'world'}, 'reading data object'); + + u.fragment({bar: 'foo'}); + deepEqual(u.fragment(true), {bar: 'foo'}, 'setting data object'); + equal(u.toString(), 'http://example.org/#?bar=foo', 'setting data object serialized'); + + u.addFragment('name', 'value'); + deepEqual(u.fragment(true), {bar: 'foo', name: 'value'}, 'adding value'); + equal(u.toString(), 'http://example.org/#?bar=foo&name=value', 'adding value serialized'); + + u.removeFragment('bar'); + deepEqual(u.fragment(true), {name: 'value'}, 'removing value bar'); + equal(u.toString(), 'http://example.org/#?name=value', 'removing value bar serialized'); + + u.removeFragment('name'); + deepEqual(u.fragment(true), {}, 'removing value name'); + equal(u.toString(), 'http://example.org/#?', 'removing value name serialized'); + }); + test('fragmentPrefix', function() { + var u; + + URI.fragmentPrefix = '!'; + u = URI('http://example.org'); + equal(u._parts.fragmentPrefix, '!', 'init using global property'); + + u.fragment('#?hello=world'); + equal(u.fragment(), '?hello=world', 'unparsed ?'); + deepEqual(u.fragment(true), {}, 'parsing ? prefix'); + + u.fragment('#!hello=world'); + equal(u.fragment(), '!hello=world', 'unparsed !'); + deepEqual(u.fragment(true), {hello: 'world'}, 'parsing ! prefix'); + + u.fragmentPrefix('§'); + equal(u.fragment(), '!hello=world', 'unparsed §'); + deepEqual(u.fragment(true), {}, 'parsing § prefix'); + + u.fragment('#§hello=world'); + equal(u.fragment(), '§hello=world', 'unparsed §'); + deepEqual(u.fragment(true), {hello: 'world'}, 'parsing § prefix'); + + URI.fragmentPrefix = '?'; + }); + +})();
\ No newline at end of file |