diff options
Diffstat (limited to 'deps/v8/test/intl')
-rw-r--r-- | deps/v8/test/intl/OWNERS | 2 | ||||
-rw-r--r-- | deps/v8/test/intl/date-format/parse-MMMdy.js | 15 | ||||
-rw-r--r-- | deps/v8/test/intl/date-format/parse-mdy.js | 32 | ||||
-rw-r--r-- | deps/v8/test/intl/date-format/parse-mdyhms.js | 22 | ||||
-rw-r--r-- | deps/v8/test/intl/date-format/timezone-name.js (renamed from deps/v8/test/intl/date-format/utils.js) | 35 | ||||
-rw-r--r-- | deps/v8/test/intl/intl.status | 19 | ||||
-rw-r--r-- | deps/v8/test/intl/testcfg.py | 1 |
7 files changed, 80 insertions, 46 deletions
diff --git a/deps/v8/test/intl/OWNERS b/deps/v8/test/intl/OWNERS new file mode 100644 index 000000000..9d54cbbea --- /dev/null +++ b/deps/v8/test/intl/OWNERS @@ -0,0 +1,2 @@ +cira@chromium.org +mnita@google.com diff --git a/deps/v8/test/intl/date-format/parse-MMMdy.js b/deps/v8/test/intl/date-format/parse-MMMdy.js index 713652781..b23a3cde3 100644 --- a/deps/v8/test/intl/date-format/parse-MMMdy.js +++ b/deps/v8/test/intl/date-format/parse-MMMdy.js @@ -30,19 +30,22 @@ var dtf = new Intl.DateTimeFormat(['en'], {year: 'numeric', month: 'short', - day: 'numeric'}); + day: 'numeric', + timeZone: 'America/Los_Angeles'}); // Make sure we have pattern we expect (may change in the future). assertEquals('MMM d, y', dtf.resolved.pattern); -assertEquals('Sat May 04 1974 00:00:00 GMT-0007 (PDT)', - usePDT(String(dtf.v8Parse('May 4, 1974')))); +var date = dtf.v8Parse('Feb 4, 1974'); +assertEquals(1974, date.getUTCFullYear()); +assertEquals(1, date.getUTCMonth()); +assertEquals(4, date.getUTCDate()); // Missing , in the pattern. -assertEquals(undefined, dtf.v8Parse('May 4 1974')); +assertEquals(undefined, dtf.v8Parse('Feb 4 1974')); // Extra "th" after 4 in the pattern. -assertEquals(undefined, dtf.v8Parse('May 4th, 1974')); +assertEquals(undefined, dtf.v8Parse('Feb 4th, 1974')); // Wrong pattern. -assertEquals(undefined, dtf.v8Parse('5/4/1974')); +assertEquals(undefined, dtf.v8Parse('2/4/1974')); diff --git a/deps/v8/test/intl/date-format/parse-mdy.js b/deps/v8/test/intl/date-format/parse-mdy.js index e767a0b2d..7b1a79af8 100644 --- a/deps/v8/test/intl/date-format/parse-mdy.js +++ b/deps/v8/test/intl/date-format/parse-mdy.js @@ -27,23 +27,25 @@ // Testing v8Parse method for date only. -var dtf = new Intl.DateTimeFormat(['en']); +function checkDate(date) { + assertEquals(1974, date.getUTCFullYear()); + assertEquals(1, date.getUTCMonth()); + assertEquals(4, date.getUTCDate()); +} + +var dtf = new Intl.DateTimeFormat(['en'], {timeZone: 'America/Los_Angeles'}); // Make sure we have pattern we expect (may change in the future). assertEquals('M/d/y', dtf.resolved.pattern); -assertEquals('Sat May 04 1974 00:00:00 GMT-0007 (PDT)', - usePDT(String(dtf.v8Parse('5/4/74')))); -assertEquals('Sat May 04 1974 00:00:00 GMT-0007 (PDT)', - usePDT(String(dtf.v8Parse('05/04/74')))); -assertEquals('Sat May 04 1974 00:00:00 GMT-0007 (PDT)', - usePDT(String(dtf.v8Parse('5/04/74')))); -assertEquals('Sat May 04 1974 00:00:00 GMT-0007 (PDT)', - usePDT(String(dtf.v8Parse('5/4/1974')))); - -// Month is numeric, so it fails on "May". -assertEquals(undefined, dtf.v8Parse('May 4th 1974')); +checkDate(dtf.v8Parse('2/4/74')); +checkDate(dtf.v8Parse('02/04/74')); +checkDate(dtf.v8Parse('2/04/74')); +checkDate(dtf.v8Parse('02/4/74')); +checkDate(dtf.v8Parse('2/4/1974')); +checkDate(dtf.v8Parse('02/4/1974')); +checkDate(dtf.v8Parse('2/04/1974')); +checkDate(dtf.v8Parse('02/04/1974')); -// Time is ignored from the input, since the pattern doesn't have it. -assertEquals('Sat May 04 1974 00:00:00 GMT-0007 (PDT)', - usePDT(String(dtf.v8Parse('5/4/74 12:30:12')))); +// Month is numeric, so it fails on "Feb". +assertEquals(undefined, dtf.v8Parse('Feb 4th 1974')); diff --git a/deps/v8/test/intl/date-format/parse-mdyhms.js b/deps/v8/test/intl/date-format/parse-mdyhms.js index 74f7467f3..73efb6205 100644 --- a/deps/v8/test/intl/date-format/parse-mdyhms.js +++ b/deps/v8/test/intl/date-format/parse-mdyhms.js @@ -30,22 +30,28 @@ var dtf = new Intl.DateTimeFormat(['en'], {year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', - minute: 'numeric', second: 'numeric'}); + minute: 'numeric', second: 'numeric', + timeZone: 'UTC'}); // Make sure we have pattern we expect (may change in the future). assertEquals('M/d/y h:mm:ss a', dtf.resolved.pattern); -assertEquals('Sat May 04 1974 12:30:12 GMT-0007 (PDT)', - usePDT(String(dtf.v8Parse('5/4/74 12:30:12 pm')))); +var date = dtf.v8Parse('2/4/74 12:30:42 pm'); +assertEquals(1974, date.getUTCFullYear()); +assertEquals(1, date.getUTCMonth()); +assertEquals(4, date.getUTCDate()); +assertEquals(12, date.getUTCHours()); +assertEquals(30, date.getUTCMinutes()); +assertEquals(42, date.getUTCSeconds()); // AM/PM were not specified. -assertEquals(undefined, dtf.v8Parse('5/4/74 12:30:12')); +assertEquals(undefined, dtf.v8Parse('2/4/74 12:30:12')); // Time was not specified. -assertEquals(undefined, dtf.v8Parse('5/4/74')); +assertEquals(undefined, dtf.v8Parse('2/4/74')); -// Month is numeric, so it fails on "May". -assertEquals(undefined, dtf.v8Parse('May 4th 1974')); +// Month is numeric, so it fails on "Feb". +assertEquals(undefined, dtf.v8Parse('Feb 4th 1974')); // Wrong date delimiter. -assertEquals(undefined, dtf.v8Parse('5-4-74 12:30:12 am')); +assertEquals(undefined, dtf.v8Parse('2-4-74 12:30:12 am')); diff --git a/deps/v8/test/intl/date-format/utils.js b/deps/v8/test/intl/date-format/timezone-name.js index 535de15e9..2ed5c1aca 100644 --- a/deps/v8/test/intl/date-format/utils.js +++ b/deps/v8/test/intl/date-format/timezone-name.js @@ -25,12 +25,29 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// Utility methods for date testing. - -/** - * Returns date with timezone info forced into PDT. - */ -function usePDT(dateString) { - var removedTZ = dateString.replace(/(\+|-)\d{4}/, '-0007'); - return removedTZ.replace(/\(.*?\)/, '(PDT)'); -} +// Tests time zone names. + +// Winter date (PST). +var winter = new Date(2013, 1, 12, 14, 42, 53, 0); + +// Summer date (PDT). +var summer = new Date(2013, 7, 12, 14, 42, 53, 0); + +// Common flags for both formatters. +var flags = { + year: 'numeric', month: 'long', day: 'numeric', + hour : '2-digit', minute : '2-digit', second : '2-digit', + timeZone: 'America/Los_Angeles' +}; + +flags.timeZoneName = "short"; +var dfs = new Intl.DateTimeFormat('en-US', flags); + +assertTrue(dfs.format(winter).indexOf('PST') !== -1); +assertTrue(dfs.format(summer).indexOf('PDT') !== -1); + +flags.timeZoneName = "long"; +var dfl = new Intl.DateTimeFormat('en-US', flags); + +assertTrue(dfl.format(winter).indexOf('Pacific Standard Time') !== -1); +assertTrue(dfl.format(summer).indexOf('Pacific Daylight Time') !== -1); diff --git a/deps/v8/test/intl/intl.status b/deps/v8/test/intl/intl.status index 34610a5d7..fc3c66b9c 100644 --- a/deps/v8/test/intl/intl.status +++ b/deps/v8/test/intl/intl.status @@ -25,12 +25,17 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -prefix intl +[ +[ALWAYS, { + # The following tests use getDefaultTimeZone(). + 'date-format/resolved-options': [FAIL], + 'date-format/timezone': [FAIL], + 'general/v8Intl-exists': [FAIL], -# The following tests use getDefaultTimeZone(). -date-format/resolved-options: FAIL -date-format/timezone: FAIL -general/v8Intl-exists: FAIL + # TODO(jochen): The following test is flaky. + 'overrides/caching': [PASS, FAIL], -# TODO(jochen): The following test is flaky. -overrides/caching: PASS || FAIL + # BUG(2899): default locale for search fails on mac and on android. + 'collator/default-locale': [['system == macos or arch == android_arm or arch == android_ia32', FAIL]], +}], # ALWAYS +] diff --git a/deps/v8/test/intl/testcfg.py b/deps/v8/test/intl/testcfg.py index 09d29d0be..9fc087e5f 100644 --- a/deps/v8/test/intl/testcfg.py +++ b/deps/v8/test/intl/testcfg.py @@ -57,7 +57,6 @@ class IntlTestSuite(testsuite.TestSuite): files = [] files.append(os.path.join(self.root, "assert.js")) files.append(os.path.join(self.root, "utils.js")) - files.append(os.path.join(self.root, "date-format", "utils.js")) files.append(os.path.join(self.root, testcase.path + self.suffix())) flags += files |