node/test/fixtures/wpt/url/urlsearchparams-append.any.js
Joyee Cheung 1e7f056afc
test: use git node wpt to pull WPT into test/fixtures
This patch uses the `git node wpt` command in node-core-utils
to initialize `test/fixtures/wpt` with a subset of the Web
Platform Tests (https://github.com/web-platform-tests/wpt),
including:

- console tests
- url tests
- interfaces (.idl WebIDL files)
- test harness located in `resources`, including the WebIDL
  parser

Also initializes the README.md, LICENSE and versions.json in the
`test/fixtures/wpt`.

In later patches, we will use these files to run WPT
and move away from the manually maintained copy-pasted files
in `test/parallel/test-whatwg-*`.

https://github.com/nodejs/node-core-utils/blob/master/docs/git-node.md#git-node-wpt

PR-URL: https://github.com/nodejs/node/pull/24035
Refs: https://github.com/nodejs/node/issues/23192
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
2018-11-09 20:27:11 +08:00

39 lines
1.4 KiB
JavaScript

test(function() {
var params = new URLSearchParams();
params.append('a', 'b');
assert_equals(params + '', 'a=b');
params.append('a', 'b');
assert_equals(params + '', 'a=b&a=b');
params.append('a', 'c');
assert_equals(params + '', 'a=b&a=b&a=c');
}, 'Append same name');
test(function() {
var params = new URLSearchParams();
params.append('', '');
assert_equals(params + '', '=');
params.append('', '');
assert_equals(params + '', '=&=');
}, 'Append empty strings');
test(function() {
var params = new URLSearchParams();
params.append(null, null);
assert_equals(params + '', 'null=null');
params.append(null, null);
assert_equals(params + '', 'null=null&null=null');
}, 'Append null');
test(function() {
var params = new URLSearchParams();
params.append('first', 1);
params.append('second', 2);
params.append('third', '');
params.append('first', 10);
assert_true(params.has('first'), 'Search params object has name "first"');
assert_equals(params.get('first'), '1', 'Search params object has name "first" with value "1"');
assert_equals(params.get('second'), '2', 'Search params object has name "second" with value "2"');
assert_equals(params.get('third'), '', 'Search params object has name "third" with value ""');
params.append('first', 10);
assert_equals(params.get('first'), '1', 'Search params object has name "first" with value "1"');
}, 'Append multiple');