if(typeof require !== 'undefined') {
|
|
var Specification = require('../scripts/specification-converter.js');
|
|
}
|
|
|
|
|
|
Date.Specification = new Specification({
|
|
'Times': {
|
|
setup: function() {
|
|
this.baseline = [];
|
|
this.baseline[0] = Date.today().set( { hour: 6 } );
|
|
this.baseline[1] = Date.today().set( { hour: 6, minute: 45 } );
|
|
this.baseline[2] = Date.today().set( { hour: 22 } );
|
|
this.baseline[3] = Date.today().set( { hour: 22, minute: 30 } );
|
|
},
|
|
'12 am': {
|
|
run: function() { },
|
|
assert: function() { return Date.today().equals(Date.parse("12 am")) }
|
|
},
|
|
'12 AM': {
|
|
run: function() { },
|
|
assert: function() { return Date.today().equals(Date.parse("12 am")) }
|
|
},
|
|
'12 A': {
|
|
run: function() { },
|
|
assert: function() { return Date.today().equals(Date.parse("12 A")) }
|
|
},
|
|
'12A': {
|
|
run: function() { },
|
|
assert: function() { return Date.today().equals(Date.parse("12A")) }
|
|
},
|
|
'12 pm': {
|
|
run: function() { },
|
|
assert: function() { return Date.today().add(12).hours().equals(Date.parse("12 pm")) }
|
|
},
|
|
'12 PM': {
|
|
run: function() { },
|
|
assert: function() { return Date.today().add(12).hours().equals(Date.parse("12 PM")) }
|
|
},
|
|
'12 P': {
|
|
run: function() { },
|
|
assert: function() { return Date.today().add(12).hours().equals(Date.parse("12 P")) }
|
|
},
|
|
'12P': {
|
|
run: function() { },
|
|
assert: function() { return Date.today().add(12).hours().equals(Date.parse("12P")) }
|
|
},
|
|
|
|
'22:30': {
|
|
run: function() { this.date = Date.parse('22:30') },
|
|
assert: function() { return this.baseline[3].equals( this.date ) }
|
|
},
|
|
|
|
'6:45': {
|
|
run: function() { this.date = Date.parse('6:45') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
'06:45': {
|
|
run: function() { this.date = Date.parse('06:45') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
'10 pm': {
|
|
run: function() { this.date = Date.parse('10 pm') },
|
|
assert: function() { return this.baseline[2].equals( this.date ) }
|
|
},
|
|
'10pm': {
|
|
run: function() { this.date = Date.parse('10pm') },
|
|
assert: function() { return this.baseline[2].equals( this.date ) }
|
|
},
|
|
'10 p.m.': {
|
|
run: function() { this.date = Date.parse('10 p.m.') },
|
|
assert: function() { return this.baseline[2].equals( this.date ) }
|
|
},
|
|
|
|
'10 PM': {
|
|
run: function() { this.date = Date.parse('10 PM') },
|
|
assert: function() { return this.baseline[2].equals( this.date ) }
|
|
},
|
|
'10PM': {
|
|
run: function() { this.date = Date.parse('10PM') },
|
|
assert: function() { return this.baseline[2].equals( this.date ) }
|
|
},
|
|
'10 P.M.': {
|
|
run: function() { this.date = Date.parse('10 P.M.') },
|
|
assert: function() { return this.baseline[2].equals( this.date ) }
|
|
},
|
|
|
|
'6 am': {
|
|
run: function() { this.date = Date.parse('6 am') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'6am': {
|
|
run: function() { this.date = Date.parse('6am') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'06 am': {
|
|
run: function() { this.date = Date.parse('06 am') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'06am': {
|
|
run: function() { this.date = Date.parse('06am') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'6 AM': {
|
|
run: function() { this.date = Date.parse('6 AM') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'6AM': {
|
|
run: function() { this.date = Date.parse('6AM') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'6 A.M.': {
|
|
run: function() { this.date = Date.parse('6 A.M.') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'06 AM': {
|
|
run: function() { this.date = Date.parse('06 AM') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'06AM': {
|
|
run: function() { this.date = Date.parse('06AM') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
'06 A.M.': {
|
|
run: function() { this.date = Date.parse('06 A.M.') },
|
|
assert: function() { return this.baseline[0].equals( this.date ) }
|
|
},
|
|
|
|
'10:30P': {
|
|
run: function() { this.date = Date.parse('10:30P') },
|
|
assert: function() { return this.baseline[3].equals( this.date ) }
|
|
},
|
|
'10:30 P': {
|
|
run: function() { this.date = Date.parse('10:30 P') },
|
|
assert: function() { return this.baseline[3].equals( this.date ) }
|
|
},
|
|
'10:30 PM': {
|
|
run: function() { this.date = Date.parse('10:30 PM') },
|
|
assert: function() { return this.baseline[3].equals( this.date ) }
|
|
},
|
|
'10:30PM': {
|
|
run: function() { this.date = Date.parse('10:30PM') },
|
|
assert: function() { return this.baseline[3].equals( this.date ) }
|
|
},
|
|
'10:30 P.M.': {
|
|
run: function() { this.date = Date.parse('10:30 P.M.') },
|
|
assert: function() { return this.baseline[3].equals( this.date ) }
|
|
},
|
|
|
|
'6:45A': {
|
|
run: function() { this.date = Date.parse('6:45A') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
'6:45 A': {
|
|
run: function() { this.date = Date.parse('6:45 A') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
'6:45 AM': {
|
|
run: function() { this.date = Date.parse('6:45 AM') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
'6:45AM': {
|
|
run: function() { this.date = Date.parse('6:45AM') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
'6:45 A.M.': {
|
|
run: function() { this.date = Date.parse('6:45 A.M.') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
|
|
|
|
'22:30': {
|
|
run: function() { this.date = Date.parse('22:30') },
|
|
assert: function() { return this.baseline[3].equals( this.date ) }
|
|
},
|
|
'6:45': {
|
|
run: function() { this.date = Date.parse('6:45') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
'06:45': {
|
|
run: function() { this.date = Date.parse('06:45') },
|
|
assert: function() { return this.baseline[1].equals( this.date ) }
|
|
},
|
|
|
|
|
|
'22:30:45': {
|
|
run: function() { this.date = Date.parse('22:30:45') },
|
|
assert: function() { return this.baseline[3].addSeconds(45).equals( this.date ) }
|
|
},
|
|
'06:45:25': {
|
|
run: function() { this.date = Date.parse('06:45:25') },
|
|
assert: function() { return this.baseline[1].addSeconds(25).equals( this.date ) }
|
|
},
|
|
|
|
|
|
'10:30:45 PM': {
|
|
run: function() { this.date = Date.parse('10:30:45 PM') },
|
|
assert: function() { return this.baseline[3].addSeconds(45).equals( this.date ) }
|
|
},
|
|
'10:30:45PM': {
|
|
run: function() { this.date = Date.parse('10:30:45PM') },
|
|
assert: function() { return this.baseline[3].addSeconds(45).equals( this.date ) }
|
|
},
|
|
'10:30:45 P': {
|
|
run: function() { this.date = Date.parse('10:30:45 P') },
|
|
assert: function() { return this.baseline[3].addSeconds(45).equals( this.date ) }
|
|
},
|
|
'10:30:45P': {
|
|
run: function() { this.date = Date.parse('10:30:45P') },
|
|
assert: function() { return this.baseline[3].addSeconds(45).equals( this.date ) }
|
|
},
|
|
'10:30:45 P.M.': {
|
|
run: function() { this.date = Date.parse('10:30:45 P.M.') },
|
|
assert: function() { return this.baseline[3].addSeconds(45).equals( this.date ) }
|
|
},
|
|
|
|
|
|
'6:45:25 AM': {
|
|
run: function() { this.date = Date.parse('6:45:25 AM') },
|
|
assert: function() { return this.baseline[1].addSeconds(25).equals( this.date ) }
|
|
},
|
|
'6:45:25AM': {
|
|
run: function() { this.date = Date.parse('6:45:25AM') },
|
|
assert: function() { return this.baseline[1].addSeconds(25).equals( this.date ) }
|
|
},
|
|
'6:45:25 A': {
|
|
run: function() { this.date = Date.parse('6:45:25 A') },
|
|
assert: function() { return this.baseline[1].addSeconds(25).equals( this.date ) }
|
|
},
|
|
'6:45:25A': {
|
|
run: function() { this.date = Date.parse('6:45:25A') },
|
|
assert: function() { return this.baseline[1].addSeconds(25).equals( this.date ) }
|
|
},
|
|
'6:45:25 A.M.': {
|
|
run: function() { this.date = Date.parse('6:45:25 A.M') },
|
|
assert: function() { return this.baseline[1].addSeconds(25).equals( this.date ) }
|
|
}
|
|
},
|
|
|
|
'With Timezones': {
|
|
setup: function() {
|
|
this.d = [];
|
|
this.d[0] = Date.today().set({hour: 22, minute: 30 }).setTimezoneOffset(-500);
|
|
this.d[1] = Date.today().set({hour: 22 }).setTimezoneOffset(-500);
|
|
},
|
|
'10:30 PM EST': {
|
|
run: function() { this.date = Date.parse('10:30 PM EST') },
|
|
assert: function() { return this.d[0].equals( this.date ) }
|
|
},
|
|
'10:30 PM -0500 : Offset': {
|
|
run: function() { this.date = Date.parse('10:30 PM -0500') },
|
|
assert: function() { return this.d[0].equals( this.date ) }
|
|
}
|
|
} ,
|
|
|
|
'Misc': {
|
|
setup: function() {
|
|
},
|
|
'10:2 == 10:02': {
|
|
run: function() { this.date = Date.parse('10:2') },
|
|
assert: function() { return Date.today().set({hour: 10, minute: 2}).equals( this.date ) }
|
|
},
|
|
'10:2:5 == 10:02:05': {
|
|
run: function() { this.date = Date.parse('10:2:5') },
|
|
assert: function() { return Date.today().set({hour: 10, minute: 2, second: 5}).equals( this.date ) }
|
|
}
|
|
}
|
|
});
|
|
|