diff --git a/test/built-ins/Date/UTC/infinity-make-day.js b/test/built-ins/Date/UTC/infinity-make-day.js index 98c3b5759e33563920065312cc6d1fdc2180755d..f0362a4c0428a9c8d3962b7c05c52f144d3a1102 100644 --- a/test/built-ins/Date/UTC/infinity-make-day.js +++ b/test/built-ins/Date/UTC/infinity-make-day.js @@ -6,7 +6,7 @@ es6id: 20.3.3.4 description: Infinite values specified to MakeDay produce NaN info: | [...] - 9. Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))). + 9. Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))). MakeDay (year, month, date) @@ -14,6 +14,9 @@ info: | NaN. ---*/ +assert.sameValue(Date.UTC(Infinity), NaN, 'year: Infinity - single arg'); +assert.sameValue(Date.UTC(-Infinity), NaN, 'year: -Infinity - single arg'); + assert.sameValue(Date.UTC(Infinity, 0), NaN, 'year: Infinity'); assert.sameValue(Date.UTC(-Infinity, 0), NaN, 'year: -Infinity'); @@ -22,3 +25,4 @@ assert.sameValue(Date.UTC(0, -Infinity), NaN, 'month: -Infinity'); assert.sameValue(Date.UTC(0, 0, Infinity), NaN, 'date: Infinity'); assert.sameValue(Date.UTC(0, 0, -Infinity), NaN, 'date: -Infinity'); + diff --git a/test/built-ins/Date/UTC/nans.js b/test/built-ins/Date/UTC/nans.js index 6f3f10e9dec87843baca4479a8fcd7cb5b6d1df6..909baa1b84903aec40279e82d428f44f063a64b3 100644 --- a/test/built-ins/Date/UTC/nans.js +++ b/test/built-ins/Date/UTC/nans.js @@ -14,13 +14,14 @@ info: | 7. If ms is supplied, let milli be ? ToNumber(ms); else let milli be 0. 8. If y is not NaN and 0 ≤ ToInteger(y) ≤ 99, let yr be 1900+ToInteger(y); otherwise, let yr be y. - 9. Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))). + 9. Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))). ---*/ -assert.sameValue(new Date(NaN, 0).getTime(), NaN, 'year'); -assert.sameValue(new Date(1970, NaN).getTime(), NaN, 'month'); -assert.sameValue(new Date(1970, 0, NaN).getTime(), NaN, 'date'); -assert.sameValue(new Date(1970, 0, 1, NaN).getTime(), NaN, 'hours'); -assert.sameValue(new Date(1970, 0, 1, 0, NaN).getTime(), NaN, 'minutes'); -assert.sameValue(new Date(1970, 0, 1, 0, 0, NaN).getTime(), NaN, 'seconds'); -assert.sameValue(new Date(1970, 0, 1, 0, 0, 0, NaN).getTime(), NaN, 'ms'); +assert.sameValue(Date.UTC(NaN), NaN, 'year'); +assert.sameValue(Date.UTC(NaN, 0), NaN, 'year'); +assert.sameValue(Date.UTC(1970, NaN), NaN, 'month'); +assert.sameValue(Date.UTC(1970, 0, NaN), NaN, 'date'); +assert.sameValue(Date.UTC(1970, 0, 1, NaN), NaN, 'hours'); +assert.sameValue(Date.UTC(1970, 0, 1, 0, NaN), NaN, 'minutes'); +assert.sameValue(Date.UTC(1970, 0, 1, 0, 0, NaN), NaN, 'seconds'); +assert.sameValue(Date.UTC(1970, 0, 1, 0, 0, 0, NaN), NaN, 'ms'); diff --git a/test/built-ins/Date/UTC/no-arg.js b/test/built-ins/Date/UTC/no-arg.js new file mode 100644 index 0000000000000000000000000000000000000000..423548646d80c2f1f8a340f6087f168c95c5f2bd --- /dev/null +++ b/test/built-ins/Date/UTC/no-arg.js @@ -0,0 +1,20 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +esid: sec-date.utc +es6id: 20.3.3.4 +description: Tests for non optional arguments +info: | + 1. Let y be ? ToNumber(year). + 2. Let m be ? ToNumber(month). + 3. If date is supplied, let dt be ? ToNumber(date); else let dt be 1. + 4. If hours is supplied, let h be ? ToNumber(hours); else let h be 0. + 5. If minutes is supplied, let min be ? ToNumber(minutes); else let min be 0. + 6. If seconds is supplied, let s be ? ToNumber(seconds); else let s be 0. + 7. If ms is supplied, let milli be ? ToNumber(ms); else let milli be 0. + 8. If y is not NaN and 0 ≤ ToInteger(y) ≤ 99, let yr be 1900+ToInteger(y); + otherwise, let yr be y. + 9. Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))). +---*/ + +assert.sameValue(Date.UTC(), NaN, 'missing non-optional year argument'); diff --git a/test/built-ins/Date/UTC/return-value.js b/test/built-ins/Date/UTC/return-value.js index 5adb70ecae7e210298b70b6df0cef1f9338d5f9e..c4caaa77820a5e87ad4ffe395bec561f5946953f 100644 --- a/test/built-ins/Date/UTC/return-value.js +++ b/test/built-ins/Date/UTC/return-value.js @@ -14,9 +14,11 @@ info: | 7. If ms is supplied, let milli be ? ToNumber(ms); else let milli be 0. 8. If y is not NaN and 0 ≤ ToInteger(y) ≤ 99, let yr be 1900+ToInteger(y); otherwise, let yr be y. - 9. Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))). + 9. Return TimeClip(MakeDate(MakeDay(yr, m, dt), MakeTime(h, min, s, milli))). ---*/ +assert.sameValue(Date.UTC(1970), 0, '1970'); + assert.sameValue(Date.UTC(1970, 0), 0, '1970, 0'); assert.sameValue(Date.UTC(2016, 0), 1451606400000, '2016, 0'); assert.sameValue(Date.UTC(2016, 6), 1467331200000, '2016, 6');