// ========================================================================== // Project: DateTime Unit Test // Copyright: ©2010 Martin Ottenwaelter // ==========================================================================

/*globals module test ok equals same stop start */

module('Time');

var dt, options, ms, timezone, startTime, timezones;

module(“SC.DateTime”, {

setup: function() {
},
teardown: function() {
}

});

/**

* This test runs expired time format tests, based on the localization strings
* found in strings.js
*/

test('FormatElapsed', function() {

var dateTimeTest = SC.DateTime.create();
equals(dateTimeTest.toFormattedString("%E"), "Right now");

dateTimeTest = dateTimeTest.advance({ second: 1 });  // +1 second;
equals(dateTimeTest.toFormattedString("%E"), "In a moment");
dateTimeTest = dateTimeTest.advance({ second: 19 });  // +19 seconds;
equals(dateTimeTest.toFormattedString("%E"), "In 20 seconds");
dateTimeTest =  dateTimeTest.advance({ minute: 1 });  // +1 minute;
equals(dateTimeTest.toFormattedString("%E"), "In a minute");
dateTimeTest = dateTimeTest.advance({ minute: 4 });  // +5 minutes;
equals(dateTimeTest.toFormattedString("%E"), "In 5 minutes");
dateTimeTest = dateTimeTest.advance({ hour: 1 });  // +60 minutes;
equals(dateTimeTest.toFormattedString("%E"), "An hour from now");
dateTimeTest = dateTimeTest.advance({ hour: 2 });  // +2 hours;
equals(dateTimeTest.toFormattedString("%E"), "In about 3 hours");
dateTimeTest = dateTimeTest.advance({ day: 1 });  // +1 day;
equals(dateTimeTest.toFormattedString("%E"), dateTimeTest.toFormattedString("_SC.DateTime.dayIn".loc()));
dateTimeTest = dateTimeTest.advance({ day: 2 });  // +2 days;
equals(dateTimeTest.toFormattedString("%E"), dateTimeTest.toFormattedString("_SC.DateTime.daysIn".loc()));
dateTimeTest = dateTimeTest.advance({ day: 5 });  // +1 week;
equals(dateTimeTest.toFormattedString("%E"), "Next week");
dateTimeTest = dateTimeTest.advance({ day: 7 });  // +2 week;
equals(dateTimeTest.toFormattedString("%E"), "In 2 weeks");
console.warn(dateTimeTest.toString());
dateTimeTest = dateTimeTest.advance({ month: 1 });  // +1 month;
console.warn(dateTimeTest.toString());
equals(dateTimeTest.toFormattedString("%E"), "Next month");
dateTimeTest = dateTimeTest.advance({ month: 2 });  // +3 month;
console.warn(dateTimeTest.toString());
equals(dateTimeTest.toFormattedString("%E"), "In 3 months");
dateTimeTest = dateTimeTest.advance({ year: 1 });  // +1 year;
equals(dateTimeTest.toFormattedString("%E"), "Next year");
dateTimeTest = dateTimeTest.advance({ year: 2 });  // +3 year;
equals(dateTimeTest.toFormattedString("%E"), "In 3 years");

var dateTimeTest = SC.DateTime.create();
dateTimeTest = dateTimeTest.advance({ second: -1 });  // -1 second;
equals(dateTimeTest.toFormattedString("%E"), "A moment ago");
dateTimeTest = dateTimeTest.advance({ second: -19 });  // -19 seconds;
equals(dateTimeTest.toFormattedString("%E"), "20 seconds ago");
dateTimeTest = dateTimeTest.advance({ minute: -1 });  // -1 minute;
equals(dateTimeTest.toFormattedString("%E"), "A minute ago");
dateTimeTest = dateTimeTest.advance({ minute: -4 });  // -5 minutes;
equals(dateTimeTest.toFormattedString("%E"), "5 minutes ago");
dateTimeTest = dateTimeTest.advance({ hour: -1 });  // -60 minutes;
equals(dateTimeTest.toFormattedString("%E"), "An hour ago");
dateTimeTest = dateTimeTest.advance({ hour: -2 });  // -2 hours;
equals(dateTimeTest.toFormattedString("%E"), "About 3 hours ago");
dateTimeTest = dateTimeTest.advance({ day: -1 });  // -1 day;
equals(dateTimeTest.toFormattedString("%E"), dateTimeTest.toFormattedString("_SC.DateTime.dayAgo".loc()));
dateTimeTest = dateTimeTest.advance({ day: -2 });  // -2 days;
equals(dateTimeTest.toFormattedString("%E"), dateTimeTest.toFormattedString("_SC.DateTime.daysAgo".loc()));
dateTimeTest = dateTimeTest.advance({ day: -5 });  // -1 week;
equals(dateTimeTest.toFormattedString("%E"), "About a week ago");
dateTimeTest = dateTimeTest.advance({ day: -7 });  // -2 week;
equals(dateTimeTest.toFormattedString("%E"), "2 weeks ago");
dateTimeTest = dateTimeTest.advance({ month: -1 });  // -1 month;
equals(dateTimeTest.toFormattedString("%E"), "About a month ago");
dateTimeTest = dateTimeTest.advance({ month: -2 });  // -3 month;
equals(dateTimeTest.toFormattedString("%E"), "3 months ago");
dateTimeTest = dateTimeTest.advance({ year: -1 });  // -1 year;
equals(dateTimeTest.toFormattedString("%E"), "Last year");
dateTimeTest = dateTimeTest.advance({ year: -2 });  // -3 year;
equals(dateTimeTest.toFormattedString("%E"), "3 years ago");

});