mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Implement URLSearchParams.prototype.sort()
This commit is contained in:
parent
b5276194f4
commit
f43c604bf3
4 changed files with 14 additions and 111 deletions
|
@ -168,6 +168,17 @@ impl URLSearchParamsMethods for URLSearchParams {
|
|||
self.update_steps();
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlsearchparams-sort
|
||||
fn Sort(&self) {
|
||||
// Step 1.
|
||||
self.list
|
||||
.borrow_mut()
|
||||
.sort_by(|(a, _), (b, _)| a.encode_utf16().cmp(b.encode_utf16()));
|
||||
|
||||
// Step 2.
|
||||
self.update_steps();
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#stringification-behavior
|
||||
fn Stringifier(&self) -> DOMString {
|
||||
DOMString::from(self.serialize_utf8())
|
||||
|
|
|
@ -16,6 +16,9 @@ interface URLSearchParams {
|
|||
sequence<USVString> getAll(USVString name);
|
||||
boolean has(USVString name);
|
||||
void set(USVString name, USVString value);
|
||||
|
||||
void sort();
|
||||
|
||||
// Be careful with implementing iterable interface.
|
||||
// Search params might be mutated by URL::SetSearch while iterating (discussed in PR #10351).
|
||||
iterable<USVString, USVString>;
|
||||
|
|
|
@ -2,15 +2,9 @@
|
|||
[idlharness]
|
||||
expected: FAIL
|
||||
|
||||
[URLSearchParams interface: operation sort()]
|
||||
expected: FAIL
|
||||
|
||||
[Testing Symbol.iterator property of iterable interface URLSearchParams]
|
||||
expected: FAIL
|
||||
|
||||
[URLSearchParams interface: new URLSearchParams("hi=there&thank=you") must inherit property "sort()" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: legacy window alias]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -19,12 +13,5 @@
|
|||
[idlharness]
|
||||
expected: FAIL
|
||||
|
||||
[URLSearchParams interface: operation sort()]
|
||||
expected: FAIL
|
||||
|
||||
[Testing Symbol.iterator property of iterable interface URLSearchParams]
|
||||
expected: FAIL
|
||||
|
||||
[URLSearchParams interface: new URLSearchParams("hi=there&thank=you") must inherit property "sort()" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,105 +1,7 @@
|
|||
[urlsearchparams-sort.any.html]
|
||||
[Parse and sort: a🌈&a💩]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: z=z&a=a&z=y&a=b&z=x&a=c&z=w&a=d&z=v&a=e&z=u&a=f&z=t&a=g]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: bbb&bb&aaa&aa=x&aa=y]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: é&e<>&é]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: ffi&🌈]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: <20>=x&&<26>=a]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: z=z&=f&=t&=x]
|
||||
expected: FAIL
|
||||
|
||||
[Sorting non-existent params removes ? from URL]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: é&e<>&é]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: ffi&🌈]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: z=z&a=a&z=y&a=b&z=x&a=c&z=w&a=d&z=v&a=e&z=u&a=f&z=t&a=g]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: z=b&a=b&z=a&a=a]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: bbb&bb&aaa&aa=x&aa=y]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: <20>=x&&<26>=a]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: a🌈&a💩]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: z=b&a=b&z=a&a=a]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: z=z&=f&=t&=x]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[urlsearchparams-sort.any.worker.html]
|
||||
[Parse and sort: a🌈&a💩]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: z=z&a=a&z=y&a=b&z=x&a=c&z=w&a=d&z=v&a=e&z=u&a=f&z=t&a=g]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: bbb&bb&aaa&aa=x&aa=y]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: é&e<>&é]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: ffi&🌈]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: <20>=x&&<26>=a]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: z=z&=f&=t&=x]
|
||||
expected: FAIL
|
||||
|
||||
[Sorting non-existent params removes ? from URL]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: é&e<>&é]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: ffi&🌈]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: z=z&a=a&z=y&a=b&z=x&a=c&z=w&a=d&z=v&a=e&z=u&a=f&z=t&a=g]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: z=b&a=b&z=a&a=a]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: bbb&bb&aaa&aa=x&aa=y]
|
||||
expected: FAIL
|
||||
|
||||
[Parse and sort: <20>=x&&<26>=a]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: a🌈&a💩]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: z=b&a=b&z=a&a=a]
|
||||
expected: FAIL
|
||||
|
||||
[URL parse and sort: z=z&=f&=t&=x]
|
||||
expected: FAIL
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue