argument_bigint.js |
---
esid: sec-unescape-string
description: Input is a BigInt
info: |
B.2.1.2 unescape ( string )
1. Set string to ? ToString(string).
....
features: [BigInt]
--- |
402 |
argument_types.js |
---
esid: sec-unescape-string
description: Input is a null, undefined, boolean or Number
info: |
B.2.1.2 unescape ( string )
1. Set string to ? ToString(string).
...
--- |
848 |
browser.js |
|
0 |
empty-string.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Input is the empty string
info: |
1. Let string be ? ToString(string).
2. Let length be the number of code units in string.
3. Let R be the empty string.
4. Let k be 0.
5. Repeat, while k ≠ length,
[...]
6. Return R.
--- |
513 |
four-ignore-bad-u.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform four-character patterns that are not prefixed with the
character "u"
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
i. If k ≤ length-6 and the code unit at index k+1 within string is u
and the four code units at indices k+2, k+3, k+4, and k+5 within
string are all hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by the four hexadecimal digits at indices k+2, k+3, k+4, and
k+5 within string.
2. Increase k by 5.
[...]
--- |
1117 |
four-ignore-end-str.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform four-character patterns that are interrupted by the end
of the string
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
i. If k ≤ length-6 and the code unit at index k+1 within string is u
and the four code units at indices k+2, k+3, k+4, and k+5 within
string are all hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by the four hexadecimal digits at indices k+2, k+3, k+4, and
k+5 within string.
2. Increase k by 5.
[...]
--- |
3872 |
four-ignore-non-hex.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform four-character patterns that contain non-hexadecimal
digits
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
i. If k ≤ length-6 and the code unit at index k+1 within string is u
and the four code units at indices k+2, k+3, k+4, and k+5 within
string are all hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by the four hexadecimal digits at indices k+2, k+3, k+4, and
k+5 within string.
2. Increase k by 5.
[...]
--- |
1767 |
four.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Translation of patterns with four digits
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
i. If k ≤ length-6 and the code unit at index k+1 within string is u
and the four code units at indices k+2, k+3, k+4, and k+5 within
string are all hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by the four hexadecimal digits at indices k+2, k+3, k+4, and
k+5 within string.
2. Increase k by 5.
[...]
--- |
3507 |
length.js |
---
es6id: B.2.1.2
description: >
unescape.length is 1.
info: |
unescape (string)
17 ECMAScript Standard Built-in Objects:
Every built-in Function object, including constructors, has a length
property whose value is an integer. Unless otherwise specified, this
value is equal to the largest number of named arguments shown in the
subclause headings for the function description, including optional
parameters. However, rest parameters shown using the form “...name”
are not included in the default argument count.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
1037 |
name.js |
---
es6id: B.2.1.2
description: >
unescape.name is "unescape".
info: |
unescape (string)
17 ECMAScript Standard Built-in Objects:
Every built-in Function object, including constructors, that is not
identified as an anonymous function has a name property whose value
is a String.
Unless otherwise specified, the name property of a built-in Function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
806 |
not-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
unescape does not implement [[Construct]], is not new-able
info: |
ECMAScript Function Objects
Built-in function objects that are not identified as constructors do not
implement the [[Construct]] internal method unless otherwise specified in
the description of a particular function.
sec-evaluatenew
...
7. If IsConstructor(constructor) is false, throw a TypeError exception.
...
includes: [isConstructor.js]
features: [Reflect.construct, arrow-function]
--- |
855 |
prop-desc.js |
---
es5id: B.2.2
description: >
Object.getOwnPropertyDescriptor returns data desc for functions on
built-ins (Global.unescape)
includes: [propertyHelper.js]
--- |
539 |
shell.js |
---
description: |
Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- |
596 |
to-primitive-err.js |
---
esid: sec-unescape-string
description: If [Symbol.toPrimitive] method returned an object, it should throw a TypeError
info: |
B.2.1.2 unescape ( string )
1. Set string to ? ToString(string).
....
features: [Symbol.toPrimitive]
--- |
666 |
to-primitive-observe.js |
---
esid: sec-unescape-string
description: Observable operations from string coercion
info: |
B.2.1.2 unescape ( string )
1. Set string to ? ToString(string).
....
features: [Symbol.toPrimitive]
--- |
612 |
to-string-err-symbol.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Abrupt completion from `ToString` operation (Symbol value)
info: |
1. Let string be ? ToString(string).
features: [Symbol]
--- |
432 |
to-string-err.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Abrupt completion from `ToString` operation
info: |
1. Let string be ? ToString(string).
--- |
457 |
to-string-observe.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Observable operations from string coercion
info: |
1. Let string be ? ToString(string).
--- |
850 |
two-ignore-end-str.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform two-character patterns that are interrupted by the end
of the string
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
[...]
ii. Else if k ≤ length-3 and the two code units at indices k+1 and
k+2 within string are both hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by two zeroes plus the two hexadecimal digits at indices k+1
and k+2 within string.
2. Increase k by 2.
[...]
--- |
1799 |
two-ignore-non-hex.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform two-character patterns that contain non-hexadecimal
digits
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
[...]
ii. Else if k ≤ length-3 and the two code units at indices k+1 and
k+2 within string are both hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by two zeroes plus the two hexadecimal digits at indices k+1
and k+2 within string.
2. Increase k by 2.
[...]
--- |
1269 |
two.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Translation of patterns with two digits
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
[...]
ii. Else if k ≤ length-3 and the two code units at indices k+1 and
k+2 within string are both hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by two zeroes plus the two hexadecimal digits at indices k+1
and k+2 within string.
2. Increase k by 2.
[...]
--- |
3006 |