• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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