|
if(typeof require !== 'undefined') {
|
|
var Specification = require('../scripts/specification-converter.js');
|
|
}
|
|
|
|
|
|
Date.Specification = new Specification({
|
|
'Specific Format': {
|
|
setup: function() {
|
|
this.baseline = new Date(2004,6,1);
|
|
this.baseline2 = new Date(2004,6,15);
|
|
},
|
|
'2008/1/1 : "yyyy/M/d"': {
|
|
run: function() { this.date = Date.parseExact('2008/1/1', "yyyy/M/d") },
|
|
assert: function() { return new Date(2008, 0, 1).equals(this.date) }
|
|
},
|
|
'2008/1/5 : "yyyy/M/d"': {
|
|
run: function() { this.date = Date.parseExact('2008/1/5', "yyyy/M/d") },
|
|
assert: function() { return new Date(2008, 0, 5).equals(this.date) }
|
|
},
|
|
'2008/1/31 : "yyyy/M/d"': {
|
|
run: function() { this.date = Date.parseExact('2008/1/31', "yyyy/M/d") },
|
|
assert: function() { return new Date(2008, 0, 31).equals(this.date) }
|
|
},
|
|
'04/07/15 : "yy/MM/dd"': {
|
|
run: function() { this.date = Date.parseExact('04/07/15', "yy/MM/dd" ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'04/7/15 : "yy/M/d"': {
|
|
run: function() { this.date = Date.parseExact('04/7/15', "yy/M/d" ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'2004/1/7 : "yyyy/d/M"': {
|
|
run: function() { this.date = Date.parseExact('2004/1/7', "yyyy/d/M" ) },
|
|
assert: function() { return this.baseline.equals( this.date ) }
|
|
},
|
|
'2004/01/07 : "yyyy/dd/MM"': {
|
|
run: function() { this.date = Date.parseExact('2004/01/07', "yyyy/dd/MM" ) },
|
|
assert: function() { return this.baseline.equals( this.date ) }
|
|
},
|
|
'04/01/07 : "yy/dd/MM"': {
|
|
run: function() { this.date = Date.parseExact('04/01/07', "yy/dd/MM" ) },
|
|
assert: function() { return this.baseline.equals( this.date ) }
|
|
},
|
|
'04/1/7 : "yy/d/M"': {
|
|
run: function() { this.date = Date.parseExact('04/1/7', "yy/d/M" ) },
|
|
assert: function() { return this.baseline.equals( this.date ) }
|
|
},
|
|
'2004/15/7 : "yyyy/d/M"': {
|
|
run: function() { this.date = Date.parseExact('2004/15/7', "yyyy/d/M" ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'2004/15/07 : "yyyy/dd/MM"': {
|
|
run: function() { this.date = Date.parseExact('2004/15/07', "yyyy/dd/MM" ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'04/15/07 : "yy/dd/MM"': {
|
|
run: function() { this.date = Date.parseExact('04/15/07', "yy/dd/MM" ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'04/15/7 : "yy/d/M"': {
|
|
run: function() { this.date = Date.parseExact('04/15/7', "yy/d/M" ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'1/7/2004 : "d/M/yyyy"': {
|
|
run: function() { this.date = Date.parseExact('1/7/2004', 'd/M/yyyy' ) },
|
|
assert: function() { return this.baseline.equals( this.date ) }
|
|
},
|
|
'01/07/2004 : "dd/MM/yyyy"': {
|
|
run: function() { this.date = Date.parseExact('01/07/2004', 'dd/MM/yyyy' ) },
|
|
assert: function() { return this.baseline.equals( this.date ) }
|
|
},
|
|
'01/07/04 : "dd/MM/yy"': {
|
|
run: function() { this.date = Date.parseExact('01/07/04', 'dd/MM/yy' ) },
|
|
assert: function() { return this.baseline.equals( this.date ) }
|
|
},
|
|
'15/7/2004 : "d/M/yyyy"': {
|
|
run: function() { this.date = Date.parseExact('15/7/2004', 'd/M/yyyy' ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'15/07/2004 : "d/M/yyyy"': {
|
|
run: function() { this.date = Date.parseExact('15/07/2004', 'd/M/yyyy' ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'15/07/04 : "d/MM/yy"': {
|
|
run: function() { this.date = Date.parseExact('15/07/04', 'd/MM/yy' ) },
|
|
assert: function() { return this.baseline2.equals( this.date ) }
|
|
},
|
|
'2004 : "yyyy"': {
|
|
run: function() { this.date = Date.parseExact('2004', 'yyyy' ) },
|
|
assert: function() { return Date.today().set({ year: 2004, day: 1 }).equals( this.date ) }
|
|
},
|
|
'July 2004 : "MMMM, yyyy"': {
|
|
run: function() { this.date = Date.parseExact('July 2004', 'MMMM yyyy') },
|
|
assert: function() {
|
|
return new Date(2004, 6, 1).equals( this.date );
|
|
}
|
|
},
|
|
'March 15, 2004 : "MMMM d, yyyy"': {
|
|
run: function() { this.date = Date.parseExact('March 15, 2004', 'MMMM d, yyyy') },
|
|
assert: function() {
|
|
return new Date(2004, 2, 15).equals( this.date );
|
|
}
|
|
},
|
|
'00:15 pm : "hh:mm tt"': {
|
|
run: function() { this.date = Date.parseExact('00:15 pm', 'hh:mm tt').set({millisecond: 0, second: 0}) },
|
|
assert: function() {
|
|
return new Date().set({millisecond: 0, hour: 0, minute: 15, second: 0}).equals(this.date);
|
|
}
|
|
},
|
|
'12:15 am : "hh:mm tt"': {
|
|
run: function() { this.date = Date.parseExact('12:15 am', 'hh:mm tt').set({millisecond: 0, second: 0}) },
|
|
assert: function() {
|
|
return new Date().set({millisecond: 0, hour: 0, minute: 15, second: 0}).equals(this.date);
|
|
}
|
|
},
|
|
'12:15 pm : "hh:mm tt"': {
|
|
run: function() { this.date = Date.parseExact('12:15 pm', 'hh:mm tt').set({millisecond: 0, second: 0}) },
|
|
assert: function() {
|
|
return new Date().set({millisecond: 0, hour: 12, minute: 15, second: 0}).equals(this.date);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|