1test(function() { 2 var params = new URLSearchParams('a=b&c=d'); 3 assert_true(params.has('a')); 4 assert_true(params.has('c')); 5 assert_false(params.has('e')); 6 params = new URLSearchParams('a=b&c=d&a=e'); 7 assert_true(params.has('a')); 8 params = new URLSearchParams('=b&c=d'); 9 assert_true(params.has('')); 10 params = new URLSearchParams('null=a'); 11 assert_true(params.has(null)); 12}, 'Has basics'); 13 14test(function() { 15 var params = new URLSearchParams('a=b&c=d&&'); 16 params.append('first', 1); 17 params.append('first', 2); 18 assert_true(params.has('a'), 'Search params object has name "a"'); 19 assert_true(params.has('c'), 'Search params object has name "c"'); 20 assert_true(params.has('first'), 'Search params object has name "first"'); 21 assert_false(params.has('d'), 'Search params object has no name "d"'); 22 params.delete('first'); 23 assert_false(params.has('first'), 'Search params object has no name "first"'); 24}, 'has() following delete()'); 25 26test(() => { 27 const params = new URLSearchParams("a=b&a=d&c&e&"); 28 assert_true(params.has('a', 'b')); 29 assert_false(params.has('a', 'c')); 30 assert_true(params.has('a', 'd')); 31 assert_true(params.has('e', '')); 32 params.append('first', null); 33 assert_false(params.has('first', '')); 34 assert_true(params.has('first', 'null')); 35 params.delete('a', 'b'); 36 assert_true(params.has('a', 'd')); 37}, "Two-argument has()"); 38