aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/URI.js/test/test_fragmentQuery.js
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/URI.js/test/test_fragmentQuery.js')
-rw-r--r--thirdparty/URI.js/test/test_fragmentQuery.js59
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