1425bb815Sopenharmony_ci// Copyright JS Foundation and other contributors, http://js.foundation 2425bb815Sopenharmony_ci// 3425bb815Sopenharmony_ci// Licensed under the Apache License, Version 2.0 (the "License"); 4425bb815Sopenharmony_ci// you may not use this file except in compliance with the License. 5425bb815Sopenharmony_ci// You may obtain a copy of the License at 6425bb815Sopenharmony_ci// 7425bb815Sopenharmony_ci// http://www.apache.org/licenses/LICENSE-2.0 8425bb815Sopenharmony_ci// 9425bb815Sopenharmony_ci// Unless required by applicable law or agreed to in writing, software 10425bb815Sopenharmony_ci// distributed under the License is distributed on an "AS IS" BASIS 11425bb815Sopenharmony_ci// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12425bb815Sopenharmony_ci// See the License for the specific language governing permissions and 13425bb815Sopenharmony_ci// limitations under the License. 14425bb815Sopenharmony_ci 15425bb815Sopenharmony_ci/* 1. test case */ 16425bb815Sopenharmony_civar d = new Date(2015, 6, 9, 12, 13, 14, 121); 17425bb815Sopenharmony_ci 18425bb815Sopenharmony_ciassert (d.getFullYear() == 2015); 19425bb815Sopenharmony_ciassert (d.getUTCFullYear() == 2015); 20425bb815Sopenharmony_ciassert (d.getMonth() == 6); 21425bb815Sopenharmony_ciassert (d.getUTCMonth() == 6); 22425bb815Sopenharmony_ciassert (d.getDate() == 9); 23425bb815Sopenharmony_ciassert (d.getUTCDate() == 9); 24425bb815Sopenharmony_ciassert (d.getDay() == 4); 25425bb815Sopenharmony_ciassert (d.getUTCDay() == 4); 26425bb815Sopenharmony_ciassert (d.getHours() == 12); 27425bb815Sopenharmony_ciassert (d.getUTCHours() == (12 + d.getTimezoneOffset() / 60)); 28425bb815Sopenharmony_ciassert (d.getMinutes() == 13); 29425bb815Sopenharmony_ciassert (d.getUTCMinutes() == 13); 30425bb815Sopenharmony_ciassert (d.getSeconds() == 14); 31425bb815Sopenharmony_ciassert (d.getUTCSeconds() == 14); 32425bb815Sopenharmony_ciassert (d.getMilliseconds() == 121); 33425bb815Sopenharmony_ciassert (d.getUTCMilliseconds() == 121); 34425bb815Sopenharmony_ci 35425bb815Sopenharmony_ci/* 2. test case */ 36425bb815Sopenharmony_civar d = new Date("2015-07-09T12:13:14.121+01:30"); 37425bb815Sopenharmony_ci 38425bb815Sopenharmony_ciassert (d.getFullYear() == 2015); 39425bb815Sopenharmony_ciassert (d.getUTCFullYear() == 2015); 40425bb815Sopenharmony_ciassert (d.getMonth() == 6); 41425bb815Sopenharmony_ciassert (d.getUTCMonth() == 6); 42425bb815Sopenharmony_ciassert (d.getDate() == 9); 43425bb815Sopenharmony_ciassert (d.getUTCDate() == 9); 44425bb815Sopenharmony_ciassert (d.getDay() == 4); 45425bb815Sopenharmony_ciassert (d.getUTCDay() == 4); 46425bb815Sopenharmony_ciassert (d.getHours() == Math.floor(12 - 1.5 + d.getTimezoneOffset() / 60)); 47425bb815Sopenharmony_ciassert (d.getUTCHours() == Math.floor(12 - 1.5)); 48425bb815Sopenharmony_ciassert (d.getMinutes() == 43); 49425bb815Sopenharmony_ciassert (d.getUTCMinutes() == 43); 50425bb815Sopenharmony_ciassert (d.getSeconds() == 14); 51425bb815Sopenharmony_ciassert (d.getUTCSeconds() == 14); 52425bb815Sopenharmony_ciassert (d.getMilliseconds() == 121); 53425bb815Sopenharmony_ciassert (d.getUTCMilliseconds() == 121); 54425bb815Sopenharmony_ci 55425bb815Sopenharmony_ci/* 3. test case */ 56425bb815Sopenharmony_civar d = new Date(0); 57425bb815Sopenharmony_ci 58425bb815Sopenharmony_ciassert (d.getFullYear() == 1970); 59425bb815Sopenharmony_ciassert (d.getUTCFullYear() == 1970); 60425bb815Sopenharmony_ciassert (d.getMonth() == 0); 61425bb815Sopenharmony_ciassert (d.getUTCMonth() == 0); 62425bb815Sopenharmony_ciassert (d.getDate() == 1); 63425bb815Sopenharmony_ciassert (d.getUTCDate() == 1); 64425bb815Sopenharmony_ciassert (d.getDay() == 4); 65425bb815Sopenharmony_ciassert (d.getUTCDay() == 4); 66425bb815Sopenharmony_ciassert (d.getHours() == 0 - (d.getTimezoneOffset() / 60)); 67425bb815Sopenharmony_ciassert (d.getUTCHours() == 0); 68425bb815Sopenharmony_ciassert (d.getMinutes() == 0); 69425bb815Sopenharmony_ciassert (d.getUTCMinutes() == 0); 70425bb815Sopenharmony_ciassert (d.getSeconds() == 0); 71425bb815Sopenharmony_ciassert (d.getUTCSeconds() == 0); 72425bb815Sopenharmony_ciassert (d.getMilliseconds() == 0); 73425bb815Sopenharmony_ciassert (d.getUTCMilliseconds() == 0); 74425bb815Sopenharmony_ci 75425bb815Sopenharmony_ci/* 4. test case */ 76425bb815Sopenharmony_civar d = new Date("abcd"); 77425bb815Sopenharmony_ciassert (isNaN (d)); 78425bb815Sopenharmony_ci 79425bb815Sopenharmony_ciassert (isNaN (d.getFullYear())); 80425bb815Sopenharmony_ciassert (isNaN (d.getUTCFullYear())); 81425bb815Sopenharmony_ciassert (isNaN (d.getMonth())); 82425bb815Sopenharmony_ciassert (isNaN (d.getUTCMonth())); 83425bb815Sopenharmony_ciassert (isNaN (d.getDate())); 84425bb815Sopenharmony_ciassert (isNaN (d.getUTCDate())); 85425bb815Sopenharmony_ciassert (isNaN (d.getDay())); 86425bb815Sopenharmony_ciassert (isNaN (d.getUTCDay())); 87425bb815Sopenharmony_ciassert (isNaN (d.getHours())); 88425bb815Sopenharmony_ciassert (isNaN (d.getUTCHours())); 89425bb815Sopenharmony_ciassert (isNaN (d.getMinutes())); 90425bb815Sopenharmony_ciassert (isNaN (d.getUTCMinutes())); 91425bb815Sopenharmony_ciassert (isNaN (d.getSeconds())); 92425bb815Sopenharmony_ciassert (isNaN (d.getUTCSeconds())); 93425bb815Sopenharmony_ciassert (isNaN (d.getMilliseconds())); 94425bb815Sopenharmony_ciassert (isNaN (d.getUTCMilliseconds())); 95425bb815Sopenharmony_ciassert (isNaN (d.getTimezoneOffset())); 96425bb815Sopenharmony_ci 97425bb815Sopenharmony_ci/* 5. test case */ 98425bb815Sopenharmony_ciassert (new Date(2013, -1).getMonth() === 11); 99425bb815Sopenharmony_ciassert (new Date(-2, -2).getFullYear() === -3); 100425bb815Sopenharmony_ciassert (new Date(-1, -1).getFullYear() === -2); 101425bb815Sopenharmony_ciassert (new Date(-1, -1, -1).getMonth() === 10); 102425bb815Sopenharmony_ciassert (new Date(-1, -1, -1, -1).getDate() === 28); 103425bb815Sopenharmony_ciassert (new Date(-1, -1, -1, -1, -1).getHours() === 22); 104425bb815Sopenharmony_ciassert (new Date(-1, -1, -1, -1, -1, -1).getMinutes() === 58); 105425bb815Sopenharmony_ciassert (new Date(-1, -1, -1, -1, -1, -1, -1).getSeconds() === 58); 106425bb815Sopenharmony_ciassert (new Date(-1, -1, -1, -1, -1, -1, -1, -1).getMilliseconds() === 999); 107