Commit 62915f40 authored by Frank Tang's avatar Frank Tang Committed by Commit Bot

[Intl] Add order check test for Intl.*

Also split out some order check tests.

Bug: v8:5751
Change-Id: I1765d1809b456c43e21d9a379f720a0ea12e794e
Reviewed-on: https://chromium-review.googlesource.com/c/1352283Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57988}
parent 98493b94
// 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);
// 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);
......@@ -88,22 +88,3 @@ assertDoesNotThrow(
assertDoesNotThrow(
() => 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);
// 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);
// 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);
// 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);
......@@ -77,27 +77,3 @@ assertDoesNotThrow(
assertThrows(
() => new Intl.RelativeTimeFormat('sr', {numeric: 'never'}),
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);
// 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);
......@@ -190,27 +190,3 @@ assertThrows(
}),
TypeError
);
// 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 lineBreakStyle = -1;
let granularity = -1;
new Intl.Segmenter(["en-US"], {
get localeMatcher() {
localeMatcher = ++getCount;
},
get lineBreakStyle() {
lineBreakStyle = ++getCount;
},
get granularity() {
granularity = ++getCount;
}
});
assertEquals(1, localeMatcher);
assertEquals(2, lineBreakStyle);
assertEquals(3, granularity);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment