Skip to content
Snippets Groups Projects
Commit 37b3e7c0 authored by Mike Pennisi's avatar Mike Pennisi
Browse files

Add tests for Date.prototype.getYear

parent 1a66e812
No related branches found
No related tags found
No related merge requests found
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: Check type of various properties
es5id: B.2.4
description: Checking properties of the Date object (getYear)
---*/
if (typeof Date.prototype.getYear !== "function") $ERROR('#1: typeof Date.prototype.getYear === "function". Actual: ' + (typeof Date.prototype.getYear ));
if (typeof Date.prototype['getYear'] !== "function") $ERROR('#2: typeof Date.prototype["getYear"] === "function". Actual: ' + (typeof Date.prototype["getYear"] ));
// 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.prototype.getyear
es6id: B.2.4.1
es5id: B.2.4
description: NaN time value
info: |
1. Let t be ? thisTimeValue(this value).
2. If t is NaN, return NaN.
---*/
var date = new Date({});
assert.sameValue(date.getYear(), NaN);
// 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.prototype.getyear
es6id: B.2.4.1
es5id: B.2.4
description: >
Return value for objects with numeric value in [[DateValue]] internal slot
info: |
1. Let t be ? thisTimeValue(this value).
2. If t is NaN, return NaN.
3. Return YearFromTime(LocalTime(t)) - 1900.
---*/
assert.sameValue(new Date(1899, 0).getYear(), -1, '1899: first millisecond');
assert.sameValue(
new Date(1899, 11, 31, 23, 59, 59, 999).getYear(),
-1,
'1899: final millisecond'
);
assert.sameValue(new Date(1900, 0).getYear(), 0, '1900: first millisecond');
assert.sameValue(
new Date(1900, 11, 31, 23, 59, 59, 999).getYear(),
0,
'1900: final millisecond'
);
assert.sameValue(new Date(1970, 0).getYear(), 70, '1970: first millisecond');
assert.sameValue(
new Date(1970, 11, 31, 23, 59, 59, 999).getYear(),
70,
'1970: final millisecond'
);
assert.sameValue(new Date(2000, 0).getYear(), 100, '2000: first millisecond');
assert.sameValue(
new Date(2000, 11, 31, 23, 59, 59, 999).getYear(),
100,
'2000: final millisecond'
);
// 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.prototype.getyear
es6id: B.2.4.1
es5id: B.2.4
description: Behavior when `this` value has no [[DateValue]] internal slot
info: |
1. Let t be ? thisTimeValue(this value).
---*/
var getYear = Date.prototype.getYear;
assert.sameValue(typeof getYear, 'function');
assert.throws(TypeError, function() {
getYear.call({});
}, 'object');
assert.throws(TypeError, function() {
getYear.call(undefined);
}, 'undefined');
assert.throws(TypeError, function() {
getYear.call(null);
}, 'null');
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment