mirror of https://github.com/tc39/test262.git
Merge pull request #505 from anba/intl_name
Add coverage for 'name' property of Intl built-in functions
This commit is contained in:
commit
07aafd0c63
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.Collator
|
||||
description: >
|
||||
Intl.Collator.name is "Collator".
|
||||
info: >
|
||||
10.1.2 Intl.Collator ([ locales [ , options ]])
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.Collator.name, "Collator");
|
||||
|
||||
verifyNotEnumerable(Intl.Collator, "name");
|
||||
verifyNotWritable(Intl.Collator, "name");
|
||||
verifyConfigurable(Intl.Collator, "name");
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.Collator.prototype.compare
|
||||
description: >
|
||||
The bound Collator compare function is an anonymous function.
|
||||
info: >
|
||||
10.3.3 get Intl.Collator.prototype.compare
|
||||
|
||||
...
|
||||
4. If collator.[[boundCompare]] is undefined, then
|
||||
a. Let F be a new built-in function object as defined in 10.3.4.
|
||||
b. Let bc be BoundFunctionCreate(F, collator, « »).
|
||||
c. Perform ! DefinePropertyOrThrow(bc, "length", PropertyDescriptor {[[Value]]: 2, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true}).
|
||||
d. Set collator.[[boundCompare]] to bc.
|
||||
...
|
||||
---*/
|
||||
|
||||
var compareFn = new Intl.Collator().compare;
|
||||
|
||||
assert.sameValue(Object.prototype.hasOwnProperty.call(compareFn, "name"), false);
|
|
@ -0,0 +1,28 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.Collator.prototype.compare
|
||||
description: >
|
||||
get Intl.Collator.prototype.compare.name is "get compare".
|
||||
info: >
|
||||
10.3.3 get Intl.Collator.prototype.compare
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
var desc = Object.getOwnPropertyDescriptor(Intl.Collator.prototype, "compare");
|
||||
|
||||
assert.sameValue(desc.get.name, "get compare");
|
||||
|
||||
verifyNotEnumerable(desc.get, "name");
|
||||
verifyNotWritable(desc.get, "name");
|
||||
verifyConfigurable(desc.get, "name");
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.Collator.prototype.resolvedOptions
|
||||
description: >
|
||||
Intl.Collator.prototype.resolvedOptions.name is "resolvedOptions".
|
||||
info: >
|
||||
10.3.5 Intl.Collator.prototype.resolvedOptions ()
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.Collator.prototype.resolvedOptions.name, "resolvedOptions");
|
||||
|
||||
verifyNotEnumerable(Intl.Collator.prototype.resolvedOptions, "name");
|
||||
verifyNotWritable(Intl.Collator.prototype.resolvedOptions, "name");
|
||||
verifyConfigurable(Intl.Collator.prototype.resolvedOptions, "name");
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.Collator.supportedLocalesOf
|
||||
description: >
|
||||
Intl.Collator.supportedLocalesOf.name is "supportedLocalesOf".
|
||||
info: >
|
||||
10.2.2 Intl.Collator.supportedLocalesOf (locales [ , options ])
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.Collator.supportedLocalesOf.name, "supportedLocalesOf");
|
||||
|
||||
verifyNotEnumerable(Intl.Collator.supportedLocalesOf, "name");
|
||||
verifyNotWritable(Intl.Collator.supportedLocalesOf, "name");
|
||||
verifyConfigurable(Intl.Collator.supportedLocalesOf, "name");
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.DateTimeFormat
|
||||
description: >
|
||||
Intl.DateTimeFormat.name is "DateTimeFormat".
|
||||
info: >
|
||||
12.2.1 Intl.DateTimeFormat ([ locales [ , options ]])
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.DateTimeFormat.name, "DateTimeFormat");
|
||||
|
||||
verifyNotEnumerable(Intl.DateTimeFormat, "name");
|
||||
verifyNotWritable(Intl.DateTimeFormat, "name");
|
||||
verifyConfigurable(Intl.DateTimeFormat, "name");
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.DateTimeFormat.prototype.format
|
||||
description: >
|
||||
The bound DateTimeFormat format function is an anonymous function.
|
||||
info: >
|
||||
12.4.3 get Intl.DateTimeFormat.prototype.compare
|
||||
|
||||
...
|
||||
4. If the [[boundFormat]] internal slot of dtf is undefined, then
|
||||
a. Let F be a new built-in function object as defined in DateTime Format Functions (12.1.5).
|
||||
b. Let bf be BoundFunctionCreate(F, dft, « »).
|
||||
c. Perform ! DefinePropertyOrThrow(bf, "length", PropertyDescriptor {[[Value]]: 1, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true}).
|
||||
d. Set dtf.[[boundFormat]] to bf.
|
||||
...
|
||||
---*/
|
||||
|
||||
var formatFn = new Intl.DateTimeFormat().format;
|
||||
|
||||
assert.sameValue(Object.prototype.hasOwnProperty.call(formatFn, "name"), false);
|
|
@ -0,0 +1,28 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.DateTimeFormat.prototype.format
|
||||
description: >
|
||||
get Intl.DateTimeFormat.prototype.format.name is "get format".
|
||||
info: >
|
||||
12.4.3 get Intl.DateTimeFormat.prototype.format
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
var desc = Object.getOwnPropertyDescriptor(Intl.DateTimeFormat.prototype, "format");
|
||||
|
||||
assert.sameValue(desc.get.name, "get format");
|
||||
|
||||
verifyNotEnumerable(desc.get, "name");
|
||||
verifyNotWritable(desc.get, "name");
|
||||
verifyConfigurable(desc.get, "name");
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.DateTimeFormat.prototype.resolvedOptions
|
||||
description: >
|
||||
Intl.DateTimeFormat.prototype.resolvedOptions.name is "resolvedOptions".
|
||||
info: >
|
||||
12.4.4 Intl.DateTimeFormat.prototype.resolvedOptions ()
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.DateTimeFormat.prototype.resolvedOptions.name, "resolvedOptions");
|
||||
|
||||
verifyNotEnumerable(Intl.DateTimeFormat.prototype.resolvedOptions, "name");
|
||||
verifyNotWritable(Intl.DateTimeFormat.prototype.resolvedOptions, "name");
|
||||
verifyConfigurable(Intl.DateTimeFormat.prototype.resolvedOptions, "name");
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.DateTimeFormat.supportedLocalesOf
|
||||
description: >
|
||||
Intl.DateTimeFormat.supportedLocalesOf.name is "supportedLocalesOf".
|
||||
info: >
|
||||
12.3.2 Intl.DateTimeFormat.supportedLocalesOf (locales [ , options ])
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.DateTimeFormat.supportedLocalesOf.name, "supportedLocalesOf");
|
||||
|
||||
verifyNotEnumerable(Intl.DateTimeFormat.supportedLocalesOf, "name");
|
||||
verifyNotWritable(Intl.DateTimeFormat.supportedLocalesOf, "name");
|
||||
verifyConfigurable(Intl.DateTimeFormat.supportedLocalesOf, "name");
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.NumberFormat
|
||||
description: >
|
||||
Intl.NumberFormat.name is "NumberFormat".
|
||||
info: >
|
||||
11.2.1 Intl.NumberFormat ([ locales [ , options ]])
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.NumberFormat.name, "NumberFormat");
|
||||
|
||||
verifyNotEnumerable(Intl.NumberFormat, "name");
|
||||
verifyNotWritable(Intl.NumberFormat, "name");
|
||||
verifyConfigurable(Intl.NumberFormat, "name");
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.NumberFormat.prototype.format
|
||||
description: >
|
||||
The bound NumberFormat format function is an anonymous function.
|
||||
info: >
|
||||
11.4.3 get Intl.NumberFormat.prototype.compare
|
||||
|
||||
...
|
||||
4. If nf.[[boundFormat]] is undefined, then
|
||||
a. Let F be a new built-in function object as defined in Number Format Functions (11.1.3).
|
||||
b. Let bf be BoundFunctionCreate(F, nf, « »).
|
||||
c. Perform ! DefinePropertyOrThrow(bf, "length", PropertyDescriptor {[[Value]]: 1, [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true}).
|
||||
d. Set nf.[[boundFormat]] to bf.
|
||||
...
|
||||
---*/
|
||||
|
||||
var formatFn = new Intl.NumberFormat().format;
|
||||
|
||||
assert.sameValue(Object.prototype.hasOwnProperty.call(formatFn, "name"), false);
|
|
@ -0,0 +1,28 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.NumberFormat.prototype.format
|
||||
description: >
|
||||
get Intl.NumberFormat.prototype.format.name is "get format".
|
||||
info: >
|
||||
11.4.3 get Intl.NumberFormat.prototype.format
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
var desc = Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, "format");
|
||||
|
||||
assert.sameValue(desc.get.name, "get format");
|
||||
|
||||
verifyNotEnumerable(desc.get, "name");
|
||||
verifyNotWritable(desc.get, "name");
|
||||
verifyConfigurable(desc.get, "name");
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.NumberFormat.prototype.resolvedOptions
|
||||
description: >
|
||||
Intl.NumberFormat.prototype.resolvedOptions.name is "resolvedOptions".
|
||||
info: >
|
||||
11.4.4 Intl.NumberFormat.prototype.resolvedOptions ()
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.NumberFormat.prototype.resolvedOptions.name, "resolvedOptions");
|
||||
|
||||
verifyNotEnumerable(Intl.NumberFormat.prototype.resolvedOptions, "name");
|
||||
verifyNotWritable(Intl.NumberFormat.prototype.resolvedOptions, "name");
|
||||
verifyConfigurable(Intl.NumberFormat.prototype.resolvedOptions, "name");
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2016 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
id: sec-Intl.NumberFormat.supportedLocalesOf
|
||||
description: >
|
||||
Intl.NumberFormat.supportedLocalesOf.name is "supportedLocalesOf".
|
||||
info: >
|
||||
11.3.2 Intl.NumberFormat.supportedLocalesOf (locales [ , options ])
|
||||
|
||||
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]
|
||||
---*/
|
||||
|
||||
assert.sameValue(Intl.NumberFormat.supportedLocalesOf.name, "supportedLocalesOf");
|
||||
|
||||
verifyNotEnumerable(Intl.NumberFormat.supportedLocalesOf, "name");
|
||||
verifyNotWritable(Intl.NumberFormat.supportedLocalesOf, "name");
|
||||
verifyConfigurable(Intl.NumberFormat.supportedLocalesOf, "name");
|
Loading…
Reference in New Issue