Merge pull request #1987 from test262-automation/v8-test262-automation-export-07b313100e

Import test changes from V8
This commit is contained in:
Leo Balter 2018-12-10 10:59:09 -05:00 committed by GitHub
commit 8e3c6d0484
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 190 additions and 48 deletions

View File

@ -1,5 +1,5 @@
{ {
"sourceRevisionAtLastExport": "4a395137", "sourceRevisionAtLastExport": "9583858e",
"targetRevisionAtLastExport": "07b313100e", "targetRevisionAtLastExport": "d420adb9f2",
"curatedFiles": {} "curatedFiles": {}
} }

View File

@ -0,0 +1,30 @@
// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Throws only once during construction.
// Check for all getters to prevent regression.
// Preserve the order of getter initialization.
let getCount = 0;
new Intl.Collator(['en-US'], {
get usage() {
assertEquals(0, getCount++);
},
get localeMatcher() {
assertEquals(1, getCount++);
},
get numeric() {
assertEquals(2, getCount++);
},
get caseFirst() {
assertEquals(3, getCount++);
},
get sensitivity() {
assertEquals(4, getCount++);
},
get ignorePunctuation() {
assertEquals(5, getCount++);
},
});
assertEquals(6, getCount);

View File

@ -0,0 +1,21 @@
// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Throws only once during construction.
// Check for all getters to prevent regression.
// Preserve the order of getter initialization.
let getCount = 0;
new Intl.ListFormat(['en-US'], {
get type() {
assertEquals(0, getCount++);
},
get style() {
assertEquals(1, getCount++);
},
get localeMatcher() {
assertEquals(2, getCount++);
},
});
assertEquals(3, getCount);

View File

@ -88,22 +88,3 @@ assertDoesNotThrow(
assertDoesNotThrow( assertDoesNotThrow(
() => new Intl.ListFormat(['sr'], {type: 'unit', style: 'narrow'})); () => new Intl.ListFormat(['sr'], {type: 'unit', style: 'narrow'}));
// Throws only once during construction.
// Check for all getters to prevent regression.
// Preserve the order of getter initialization.
let getCount = 0;
let style = -1;
let type = -1;
new Intl.ListFormat(['en-US'], {
get style() {
style = ++getCount;
},
get type() {
type = ++getCount;
}
});
assertEquals(1, type);
assertEquals(2, style);

View File

@ -0,0 +1,42 @@
// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Throws only once during construction.
// Check for all getters to prevent regression.
// Preserve the order of getter initialization.
let getCount = 0;
new Intl.NumberFormat(['en-US'], {
get localeMatcher() {
assertEquals(0, getCount++);
},
get style() {
assertEquals(1, getCount++);
},
get currency() {
assertEquals(2, getCount++);
},
get currencyDisplay() {
assertEquals(3, getCount++);
},
get minimumIntegerDigits() {
assertEquals(4, getCount++);
},
get minimumFractionDigits() {
assertEquals(5, getCount++);
},
get maximumFractionDigits() {
assertEquals(6, getCount++);
},
get minimumSignificantDigits() {
assertEquals(7, getCount++);
},
get maximumSignificantDigits() {
assertEquals(8, getCount++);
},
get useGrouping() {
assertEquals(9, getCount++);
},
});
assertEquals(10, getCount);

View File

@ -0,0 +1,33 @@
// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Throws only once during construction.
// Check for all getters to prevent regression.
// Preserve the order of getter initialization.
let getCount = 0;
new Intl.PluralRules(['en-US'], {
get localeMatcher() {
assertEquals(0, getCount++);
},
get type() {
assertEquals(1, getCount++);
},
get minimumIntegerDigits() {
assertEquals(2, getCount++);
},
get minimumFractionDigits() {
assertEquals(3, getCount++);
},
get maximumFractionDigits() {
assertEquals(4, getCount++);
},
get minimumSignificantDigits() {
assertEquals(5, getCount++);
},
get maximumSignificantDigits() {
assertEquals(6, getCount++);
},
});
assertEquals(7, getCount);

View File

@ -0,0 +1,21 @@
// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Throws only once during construction.
// Check for all getters to prevent regression.
// Preserve the order of getter initialization.
let getCount = 0;
new Intl.RelativeTimeFormat(['en-US'], {
get localeMatcher() {
assertEquals(0, getCount++);
},
get style() {
assertEquals(1, getCount++);
},
get numeric() {
assertEquals(2, getCount++);
},
});
assertEquals(3, getCount);

View File

@ -77,27 +77,3 @@ assertDoesNotThrow(
assertThrows( assertThrows(
() => new Intl.RelativeTimeFormat('sr', {numeric: 'never'}), () => new Intl.RelativeTimeFormat('sr', {numeric: 'never'}),
RangeError); RangeError);
// Throws only once during construction.
// Check for all getters to prevent regression.
// Preserve the order of getter initialization.
let getCount = 0;
let localeMatcher = -1;
let style = -1;
let numeric = -1;
new Intl.RelativeTimeFormat('en-US', {
get localeMatcher() {
localeMatcher = ++getCount;
},
get style() {
style = ++getCount;
},
get numeric() {
numeric = ++getCount;
}
});
assertEquals(1, localeMatcher);
assertEquals(2, style);
assertEquals(3, numeric);

View File

@ -0,0 +1,23 @@
// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony-intl-segmenter
// Throws only once during construction.
// Check for all getters to prevent regression.
// Preserve the order of getter initialization.
let getCount = 0;
new Intl.Segmenter(['en-US'], {
get localeMatcher() {
assertEquals(0, getCount++);
},
get lineBreakStyle() {
assertEquals(1, getCount++);
},
get granularity() {
assertEquals(2, getCount++);
},
});
assertEquals(3, getCount);

View File

@ -19,8 +19,8 @@ assertTrue(0n === 0n);
// crbug.com/818277: Must throw without DCHECK failures. // crbug.com/818277: Must throw without DCHECK failures.
// In order to run acceptably fast in Debug mode, this test assumes that // In order to run acceptably fast in Debug mode, this test assumes that
// we allow at least 2 billion bits in a BigInt. // we allow at least 1 billion bits in a BigInt.
var close_to_limit = 2n ** 2000000000n; var close_to_limit = 2n ** 1000000000n;
assertThrows(() => close_to_limit ** 100n, RangeError); assertThrows(() => close_to_limit ** 100n, RangeError);
// Check boundary conditions of the power-of-two fast path. // Check boundary conditions of the power-of-two fast path.

View File

@ -0,0 +1,9 @@
// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
let just_under = 2n ** 30n - 1n;
let just_above = 2n ** 30n;
assertDoesNotThrow(() => { var dummy = 2n ** just_under; });
assertThrows(() => { var dummy = 2n ** just_above; });

View File

@ -14,5 +14,11 @@
'module/customSections': [FAIL], 'module/customSections': [FAIL],
'global/constructor': [FAIL], 'global/constructor': [FAIL],
'global/value-get-set': [FAIL], 'global/value-get-set': [FAIL],
}] # ALWAYS }], # ALWAYS
['arch == s390 or arch == s390x or system == aix', {
# https://bugs.chromium.org/p/v8/issues/detail?id=8402
'instance/constructor': [SKIP],
}], # 'arch == s390 or arch == s390x or system == aix'
] ]