d3-jsnext
Version:
d3, but futuristic
123 lines (114 loc) • 4.8 kB
JavaScript
require( 'babel/register' );
var vows = require("vows"),
load = require("../load"),
assert = require("../assert"),
time = require("../time/time"),
local = time.local;
var suite = vows.describe("d3.locale");
suite.addBatch({
"locale": {
topic: load("locale/ru-RU").expression("d3.locale.ru_RU"),
"numberFormat": {
topic: function(locale) {
return locale.numberFormat;
},
"formats numbers": function(format) {
var f = format(",.2f");
assert.equal(f(12345.67), "12 345,67");
},
"formats currencies": function(format) {
var f = format("$,.2f");
assert.equal(f(12345.67), "12 345,67 руб.");
},
"formats currencies with SI-prefix notation and currency suffix": function(format) {
var f = format("$,.4s");
assert.equal(f(12345.67), "12,35k руб.");
}
},
"timeFormat": {
topic: function(locale) {
return locale.timeFormat;
},
"format": {
"formats locale date and time": function(format) {
var f = format("%c");
assert.equal(f(local(1990, 0, 1)), "понедельник, 1 января 1990 г. 00:00:00");
},
"formats locale date": function(format) {
var f = format("%x");
assert.equal(f(local(1990, 0, 1)), "01.01.1990");
},
"formats locale time": function(format) {
var f = format("%X");
assert.equal(f(local(1990, 0, 1)), "00:00:00");
},
"formats abbreviated weekday": function(format) {
var f = format("%a");
assert.equal(f(local(1990, 0, 1)), "пн");
assert.equal(f(local(1990, 0, 2)), "вт");
assert.equal(f(local(1990, 0, 3)), "ср");
assert.equal(f(local(1990, 0, 4)), "чт");
assert.equal(f(local(1990, 0, 5)), "пт");
assert.equal(f(local(1990, 0, 6)), "сб");
assert.equal(f(local(1990, 0, 7)), "вс");
},
"formats weekday": function(format) {
var f = format("%A");
assert.equal(f(local(1990, 0, 1)), "понедельник");
assert.equal(f(local(1990, 0, 2)), "вторник");
assert.equal(f(local(1990, 0, 3)), "среда");
assert.equal(f(local(1990, 0, 4)), "четверг");
assert.equal(f(local(1990, 0, 5)), "пятница");
assert.equal(f(local(1990, 0, 6)), "суббота");
assert.equal(f(local(1990, 0, 7)), "воскресенье");
},
"formats abbreviated month": function(format) {
var f = format("%b");
assert.equal(f(local(1990, 0, 1)), "янв");
assert.equal(f(local(1990, 1, 1)), "фев");
assert.equal(f(local(1990, 2, 1)), "мар");
assert.equal(f(local(1990, 3, 1)), "апр");
assert.equal(f(local(1990, 4, 1)), "май");
assert.equal(f(local(1990, 5, 1)), "июн");
assert.equal(f(local(1990, 6, 1)), "июл");
assert.equal(f(local(1990, 7, 1)), "авг");
assert.equal(f(local(1990, 8, 1)), "сен");
assert.equal(f(local(1990, 9, 1)), "окт");
assert.equal(f(local(1990, 10, 1)), "ноя");
assert.equal(f(local(1990, 11, 1)), "дек");
},
"formats month": function(format) {
var f = format("%B");
assert.equal(f(local(1990, 0, 1)), "января");
assert.equal(f(local(1990, 1, 1)), "февраля");
assert.equal(f(local(1990, 2, 1)), "марта");
assert.equal(f(local(1990, 3, 1)), "апреля");
assert.equal(f(local(1990, 4, 1)), "мая");
assert.equal(f(local(1990, 5, 1)), "июня");
assert.equal(f(local(1990, 6, 1)), "июля");
assert.equal(f(local(1990, 7, 1)), "августа");
assert.equal(f(local(1990, 8, 1)), "сентября");
assert.equal(f(local(1990, 9, 1)), "октября");
assert.equal(f(local(1990, 10, 1)), "ноября");
assert.equal(f(local(1990, 11, 1)), "декабря");
},
"formats AM or PM": function(format) {
var f = format("%p");
assert.equal(f(local(1990, 0, 1, 0)), "AM");
assert.equal(f(local(1990, 0, 1, 13)), "PM");
}
},
"parse": {
"parses locale date and time": function(format) {
var p = format("%c").parse;
assert.deepEqual(p("понедельник, 1 января 1990 г. 00:00:00"), local(1990, 0, 1));
},
"parses locale date": function(format) {
var p = format("%x").parse;
assert.deepEqual(p("01.01.1990"), local(1990, 0, 1));
}
}
}
}
});
suite.export(module);