mirror of
https://github.com/discourse/discourse.git
synced 2025-09-07 12:02:53 +08:00
Upgrade QUnit to latest version
This commit is contained in:
parent
8ae445766f
commit
cc525b1a8d
145 changed files with 7569 additions and 6763 deletions
|
@ -2,12 +2,12 @@ var clock;
|
|||
|
||||
import { relativeAge, autoUpdatingRelativeAge, updateRelativeAge, breakUp, number, longDate } from 'discourse/lib/formatter';
|
||||
|
||||
module("lib:formatter", {
|
||||
setup: function() {
|
||||
QUnit.module("lib:formatter", {
|
||||
beforeEach() {
|
||||
clock = sinon.useFakeTimers(new Date(2012,11,31,12,0).getTime());
|
||||
},
|
||||
|
||||
teardown: function() {
|
||||
afterEach() {
|
||||
clock.restore();
|
||||
}
|
||||
});
|
||||
|
@ -34,7 +34,7 @@ var shortDate = function(days){
|
|||
return moment().subtract(days, 'days').format('MMM D');
|
||||
};
|
||||
|
||||
test("formating medium length dates", function() {
|
||||
QUnit.test("formating medium length dates", assert => {
|
||||
|
||||
format = "medium";
|
||||
var strip = function(html){
|
||||
|
@ -46,133 +46,133 @@ test("formating medium length dates", function() {
|
|||
};
|
||||
|
||||
leaveAgo = true;
|
||||
equal(strip(formatMins(1.4)), "1 min ago");
|
||||
equal(strip(formatMins(2)), "2 mins ago");
|
||||
equal(strip(formatMins(55)), "55 mins ago");
|
||||
equal(strip(formatMins(56)), "1 hour ago");
|
||||
equal(strip(formatHours(4)), "4 hours ago");
|
||||
equal(strip(formatHours(22)), "22 hours ago");
|
||||
equal(strip(formatHours(23)), "23 hours ago");
|
||||
equal(strip(formatHours(23.5)), "1 day ago");
|
||||
equal(strip(formatDays(4.85)), "4 days ago");
|
||||
assert.equal(strip(formatMins(1.4)), "1 min ago");
|
||||
assert.equal(strip(formatMins(2)), "2 mins ago");
|
||||
assert.equal(strip(formatMins(55)), "55 mins ago");
|
||||
assert.equal(strip(formatMins(56)), "1 hour ago");
|
||||
assert.equal(strip(formatHours(4)), "4 hours ago");
|
||||
assert.equal(strip(formatHours(22)), "22 hours ago");
|
||||
assert.equal(strip(formatHours(23)), "23 hours ago");
|
||||
assert.equal(strip(formatHours(23.5)), "1 day ago");
|
||||
assert.equal(strip(formatDays(4.85)), "4 days ago");
|
||||
|
||||
leaveAgo = false;
|
||||
equal(strip(formatMins(0)), "just now");
|
||||
equal(strip(formatMins(1.4)), "1 min");
|
||||
equal(strip(formatMins(2)), "2 mins");
|
||||
equal(strip(formatMins(55)), "55 mins");
|
||||
equal(strip(formatMins(56)), "1 hour");
|
||||
equal(strip(formatHours(4)), "4 hours");
|
||||
equal(strip(formatHours(22)), "22 hours");
|
||||
equal(strip(formatHours(23)), "23 hours");
|
||||
equal(strip(formatHours(23.5)), "1 day");
|
||||
equal(strip(formatDays(4.85)), "4 days");
|
||||
assert.equal(strip(formatMins(0)), "just now");
|
||||
assert.equal(strip(formatMins(1.4)), "1 min");
|
||||
assert.equal(strip(formatMins(2)), "2 mins");
|
||||
assert.equal(strip(formatMins(55)), "55 mins");
|
||||
assert.equal(strip(formatMins(56)), "1 hour");
|
||||
assert.equal(strip(formatHours(4)), "4 hours");
|
||||
assert.equal(strip(formatHours(22)), "22 hours");
|
||||
assert.equal(strip(formatHours(23)), "23 hours");
|
||||
assert.equal(strip(formatHours(23.5)), "1 day");
|
||||
assert.equal(strip(formatDays(4.85)), "4 days");
|
||||
|
||||
equal(strip(formatDays(6)), shortDate(6));
|
||||
equal(strip(formatDays(100)), shortDate(100)); // eg: Jan 23
|
||||
equal(strip(formatDays(500)), shortDateYear(500));
|
||||
assert.equal(strip(formatDays(6)), shortDate(6));
|
||||
assert.equal(strip(formatDays(100)), shortDate(100)); // eg: Jan 23
|
||||
assert.equal(strip(formatDays(500)), shortDateYear(500));
|
||||
|
||||
equal($(formatDays(0)).attr("title"), longDate(new Date()));
|
||||
equal($(formatDays(0)).attr("class"), "date");
|
||||
assert.equal($(formatDays(0)).attr("title"), longDate(new Date()));
|
||||
assert.equal($(formatDays(0)).attr("class"), "date");
|
||||
|
||||
clock.restore();
|
||||
clock = sinon.useFakeTimers(new Date(2012,0,9,12,0).getTime()); // Jan 9, 2012
|
||||
|
||||
equal(strip(formatDays(8)), shortDate(8));
|
||||
equal(strip(formatDays(10)), shortDateYear(10));
|
||||
assert.equal(strip(formatDays(8)), shortDate(8));
|
||||
assert.equal(strip(formatDays(10)), shortDateYear(10));
|
||||
});
|
||||
|
||||
test("formating tiny dates", function() {
|
||||
QUnit.test("formating tiny dates", assert => {
|
||||
var shortDateYear = function(days){
|
||||
return moment().subtract(days, 'days').format("MMM 'YY");
|
||||
};
|
||||
|
||||
format = "tiny";
|
||||
equal(formatMins(0), "1m");
|
||||
equal(formatMins(1), "1m");
|
||||
equal(formatMins(2), "2m");
|
||||
equal(formatMins(60), "1h");
|
||||
equal(formatHours(4), "4h");
|
||||
equal(formatHours(23), "23h");
|
||||
equal(formatHours(23.5), "1d");
|
||||
equal(formatDays(1), "1d");
|
||||
equal(formatDays(14), "14d");
|
||||
equal(formatDays(15), shortDate(15));
|
||||
equal(formatDays(92), shortDate(92));
|
||||
equal(formatDays(364), shortDate(364));
|
||||
equal(formatDays(365), shortDate(365));
|
||||
equal(formatDays(366), shortDateYear(366)); // leap year
|
||||
equal(formatDays(500), shortDateYear(500));
|
||||
equal(formatDays(365*2 + 1), shortDateYear(365*2 + 1)); // one leap year
|
||||
assert.equal(formatMins(0), "1m");
|
||||
assert.equal(formatMins(1), "1m");
|
||||
assert.equal(formatMins(2), "2m");
|
||||
assert.equal(formatMins(60), "1h");
|
||||
assert.equal(formatHours(4), "4h");
|
||||
assert.equal(formatHours(23), "23h");
|
||||
assert.equal(formatHours(23.5), "1d");
|
||||
assert.equal(formatDays(1), "1d");
|
||||
assert.equal(formatDays(14), "14d");
|
||||
assert.equal(formatDays(15), shortDate(15));
|
||||
assert.equal(formatDays(92), shortDate(92));
|
||||
assert.equal(formatDays(364), shortDate(364));
|
||||
assert.equal(formatDays(365), shortDate(365));
|
||||
assert.equal(formatDays(366), shortDateYear(366)); // leap year
|
||||
assert.equal(formatDays(500), shortDateYear(500));
|
||||
assert.equal(formatDays(365*2 + 1), shortDateYear(365*2 + 1)); // one leap year
|
||||
|
||||
var originalValue = Discourse.SiteSettings.relative_date_duration;
|
||||
Discourse.SiteSettings.relative_date_duration = 7;
|
||||
equal(formatDays(7), "7d");
|
||||
equal(formatDays(8), shortDate(8));
|
||||
assert.equal(formatDays(7), "7d");
|
||||
assert.equal(formatDays(8), shortDate(8));
|
||||
|
||||
Discourse.SiteSettings.relative_date_duration = 1;
|
||||
equal(formatDays(1), "1d");
|
||||
equal(formatDays(2), shortDate(2));
|
||||
assert.equal(formatDays(1), "1d");
|
||||
assert.equal(formatDays(2), shortDate(2));
|
||||
|
||||
Discourse.SiteSettings.relative_date_duration = 0;
|
||||
equal(formatMins(0), "1m");
|
||||
equal(formatMins(1), "1m");
|
||||
equal(formatMins(2), "2m");
|
||||
equal(formatMins(60), "1h");
|
||||
equal(formatDays(1), shortDate(1));
|
||||
equal(formatDays(2), shortDate(2));
|
||||
equal(formatDays(366), shortDateYear(366));
|
||||
assert.equal(formatMins(0), "1m");
|
||||
assert.equal(formatMins(1), "1m");
|
||||
assert.equal(formatMins(2), "2m");
|
||||
assert.equal(formatMins(60), "1h");
|
||||
assert.equal(formatDays(1), shortDate(1));
|
||||
assert.equal(formatDays(2), shortDate(2));
|
||||
assert.equal(formatDays(366), shortDateYear(366));
|
||||
|
||||
Discourse.SiteSettings.relative_date_duration = null;
|
||||
equal(formatDays(1), '1d');
|
||||
equal(formatDays(14), '14d');
|
||||
equal(formatDays(15), shortDate(15));
|
||||
assert.equal(formatDays(1), '1d');
|
||||
assert.equal(formatDays(14), '14d');
|
||||
assert.equal(formatDays(15), shortDate(15));
|
||||
|
||||
Discourse.SiteSettings.relative_date_duration = 14;
|
||||
|
||||
clock.restore();
|
||||
clock = sinon.useFakeTimers(new Date(2012,0,12,12,0).getTime()); // Jan 12, 2012
|
||||
|
||||
equal(formatDays(11), "11d");
|
||||
equal(formatDays(14), "14d");
|
||||
equal(formatDays(15), shortDateYear(15));
|
||||
equal(formatDays(366), shortDateYear(366));
|
||||
assert.equal(formatDays(11), "11d");
|
||||
assert.equal(formatDays(14), "14d");
|
||||
assert.equal(formatDays(15), shortDateYear(15));
|
||||
assert.equal(formatDays(366), shortDateYear(366));
|
||||
|
||||
clock.restore();
|
||||
clock = sinon.useFakeTimers(new Date(2012,0,20,12,0).getTime()); // Jan 20, 2012
|
||||
|
||||
equal(formatDays(14), "14d");
|
||||
equal(formatDays(15), shortDate(15));
|
||||
equal(formatDays(20), shortDateYear(20));
|
||||
assert.equal(formatDays(14), "14d");
|
||||
assert.equal(formatDays(15), shortDate(15));
|
||||
assert.equal(formatDays(20), shortDateYear(20));
|
||||
|
||||
Discourse.SiteSettings.relative_date_duration = originalValue;
|
||||
});
|
||||
|
||||
test("autoUpdatingRelativeAge", function() {
|
||||
QUnit.test("autoUpdatingRelativeAge", assert => {
|
||||
var d = moment().subtract(1, 'day').toDate();
|
||||
|
||||
var $elem = $(autoUpdatingRelativeAge(d));
|
||||
equal($elem.data('format'), "tiny");
|
||||
equal($elem.data('time'), d.getTime());
|
||||
equal($elem.attr('title'), undefined);
|
||||
assert.equal($elem.data('format'), "tiny");
|
||||
assert.equal($elem.data('time'), d.getTime());
|
||||
assert.equal($elem.attr('title'), undefined);
|
||||
|
||||
$elem = $(autoUpdatingRelativeAge(d, {title: true}));
|
||||
equal($elem.attr('title'), longDate(d));
|
||||
assert.equal($elem.attr('title'), longDate(d));
|
||||
|
||||
$elem = $(autoUpdatingRelativeAge(d,{format: 'medium', title: true, leaveAgo: true}));
|
||||
equal($elem.data('format'), "medium-with-ago");
|
||||
equal($elem.data('time'), d.getTime());
|
||||
equal($elem.attr('title'), longDate(d));
|
||||
equal($elem.html(), '1 day ago');
|
||||
assert.equal($elem.data('format'), "medium-with-ago");
|
||||
assert.equal($elem.data('time'), d.getTime());
|
||||
assert.equal($elem.attr('title'), longDate(d));
|
||||
assert.equal($elem.html(), '1 day ago');
|
||||
|
||||
$elem = $(autoUpdatingRelativeAge(d,{format: 'medium'}));
|
||||
equal($elem.data('format'), "medium");
|
||||
equal($elem.data('time'), d.getTime());
|
||||
equal($elem.attr('title'), undefined);
|
||||
equal($elem.html(), '1 day');
|
||||
assert.equal($elem.data('format'), "medium");
|
||||
assert.equal($elem.data('time'), d.getTime());
|
||||
assert.equal($elem.attr('title'), undefined);
|
||||
assert.equal($elem.html(), '1 day');
|
||||
});
|
||||
|
||||
test("updateRelativeAge", function(){
|
||||
QUnit.test("updateRelativeAge", assert =>{
|
||||
|
||||
var d = new Date();
|
||||
var $elem = $(autoUpdatingRelativeAge(d));
|
||||
|
@ -180,7 +180,7 @@ test("updateRelativeAge", function(){
|
|||
|
||||
updateRelativeAge($elem);
|
||||
|
||||
equal($elem.html(), "2m");
|
||||
assert.equal($elem.html(), "2m");
|
||||
|
||||
d = new Date();
|
||||
$elem = $(autoUpdatingRelativeAge(d, {format: 'medium', leaveAgo: true}));
|
||||
|
@ -188,27 +188,27 @@ test("updateRelativeAge", function(){
|
|||
|
||||
updateRelativeAge($elem);
|
||||
|
||||
equal($elem.html(), "2 mins ago");
|
||||
assert.equal($elem.html(), "2 mins ago");
|
||||
});
|
||||
|
||||
test("breakUp", function(){
|
||||
QUnit.test("breakUp", assert =>{
|
||||
|
||||
var b = function(s,hint){ return breakUp(s,hint); };
|
||||
|
||||
equal(b("hello"), "hello");
|
||||
equal(b("helloworld"), "helloworld");
|
||||
equal(b("HeMans11"), "He<wbr>​Mans<wbr>​11");
|
||||
equal(b("he_man"), "he_<wbr>​man");
|
||||
equal(b("he11111"), "he<wbr>​11111");
|
||||
equal(b("HRCBob"), "HRC<wbr>​Bob");
|
||||
equal(b("bobmarleytoo","Bob Marley Too"), "bob<wbr>​marley<wbr>​too");
|
||||
assert.equal(b("hello"), "hello");
|
||||
assert.equal(b("helloworld"), "helloworld");
|
||||
assert.equal(b("HeMans11"), "He<wbr>​Mans<wbr>​11");
|
||||
assert.equal(b("he_man"), "he_<wbr>​man");
|
||||
assert.equal(b("he11111"), "he<wbr>​11111");
|
||||
assert.equal(b("HRCBob"), "HRC<wbr>​Bob");
|
||||
assert.equal(b("bobmarleytoo","Bob Marley Too"), "bob<wbr>​marley<wbr>​too");
|
||||
|
||||
});
|
||||
|
||||
test("number", function() {
|
||||
equal(number(123), "123", "it returns a string version of the number");
|
||||
equal(number("123"), "123", "it works with a string command");
|
||||
equal(number(NaN), "0", "it returns 0 for NaN");
|
||||
equal(number(3333), "3.3k", "it abbreviates thousands");
|
||||
equal(number(2499999), "2.5M", "it abbreviates millions");
|
||||
});
|
||||
QUnit.test("number", assert => {
|
||||
assert.equal(number(123), "123", "it returns a string version of the number");
|
||||
assert.equal(number("123"), "123", "it works with a string command");
|
||||
assert.equal(number(NaN), "0", "it returns 0 for NaN");
|
||||
assert.equal(number(3333), "3.3k", "it abbreviates thousands");
|
||||
assert.equal(number(2499999), "2.5M", "it abbreviates millions");
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue