145 lines
4.1 KiB
JavaScript
145 lines
4.1 KiB
JavaScript
var po2json = require(".."),
|
|
fs = require("fs"),
|
|
Jed = require("jed");
|
|
|
|
module.exports["parse"] = {
|
|
setUp: function(callback){
|
|
this.po = fs.readFileSync(__dirname + "/fixtures/pl.po");
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/pl.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parse: function(test){
|
|
var parsed = po2json.parse(this.po);
|
|
test.deepEqual(parsed, this.json);
|
|
test.done();
|
|
}
|
|
}
|
|
|
|
module.exports["parse with Jed format"] = {
|
|
setUp: function(callback){
|
|
this.po = fs.readFileSync(__dirname + "/fixtures/pl.po");
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/pl-jed.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parse: function(test){
|
|
var parsed = po2json.parse(this.po, { format: 'jed' });
|
|
test.deepEqual(parsed, this.json);
|
|
test.doesNotThrow(function() { new Jed(parsed) }, Error)
|
|
test.done();
|
|
}
|
|
};
|
|
|
|
module.exports["parse with Jed1.x format"] = {
|
|
setUp: function(callback){
|
|
this.po = fs.readFileSync(__dirname + "/fixtures/pl.po");
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/pl-jed1.x.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parse: function(test){
|
|
var parsed = po2json.parse(this.po, { format: 'jed1.x' });
|
|
test.deepEqual(parsed, this.json);
|
|
test.doesNotThrow(function() { new Jed(parsed) }, Error)
|
|
test.done();
|
|
}
|
|
};
|
|
|
|
module.exports["parse with MessageFormatter format"] = {
|
|
setUp: function(callback){
|
|
this.po = fs.readFileSync(__dirname + "/fixtures/pl-mf.po");
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/pl-mf.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parse: function(test){
|
|
var parsed = po2json.parse(this.po, { format: 'mf' });
|
|
test.deepEqual(parsed, this.json);
|
|
test.done();
|
|
}
|
|
}
|
|
|
|
module.exports["parse with MessageFormatter format + fallback-to-msgid"] = {
|
|
setUp: function(callback){
|
|
this.po = fs.readFileSync(__dirname + "/fixtures/en-empty.po");
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/en-mf-fallback-to-msgid.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parse: function(test){
|
|
var parsed = po2json.parse(this.po, { format: 'mf', 'fallback-to-msgid': true });
|
|
test.deepEqual(parsed, this.json);
|
|
test.done();
|
|
}
|
|
}
|
|
|
|
module.exports["parse with fallback-to-msgid"] = {
|
|
setUp: function(callback){
|
|
this.po = fs.readFileSync(__dirname + "/fixtures/en-empty.po");
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/en-empty.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parse: function(test){
|
|
var parsed = po2json.parse(this.po, { 'fallback-to-msgid': true });
|
|
test.deepEqual(parsed, this.json);
|
|
test.done();
|
|
}
|
|
}
|
|
module.exports["parseFile"] = {
|
|
setUp: function(callback){
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/pl.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parseFile: function(test){
|
|
var self = this;
|
|
po2json.parseFile(__dirname + "/fixtures/pl.po", null, function (err, parsed) {
|
|
test.deepEqual(parsed, self.json);
|
|
test.done();
|
|
});
|
|
}
|
|
}
|
|
|
|
module.exports["parseFileSync"] = {
|
|
setUp: function(callback){
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/pl.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parseFileSync: function(test){
|
|
var parsed = po2json.parseFileSync(__dirname + "/fixtures/pl.po");
|
|
test.deepEqual(parsed, this.json);
|
|
test.done();
|
|
}
|
|
}
|
|
|
|
module.exports["parse with Plural-Forms == nplurals=1; plural=0;"] = {
|
|
setUp: function(callback){
|
|
this.po = fs.readFileSync(__dirname + "/fixtures/ja.po");
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/ja.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parse: function(test){
|
|
var parsed = po2json.parse(this.po);
|
|
test.deepEqual(parsed, this.json);
|
|
test.done();
|
|
}
|
|
}
|
|
|
|
module.exports["parse with no headers"] ={
|
|
setUp: function(callback){
|
|
this.po = fs.readFileSync(__dirname + "/fixtures/en-no-header.po");
|
|
this.json = JSON.parse(fs.readFileSync(__dirname + "/fixtures/en-no-header.json", "utf-8"));
|
|
callback();
|
|
},
|
|
|
|
parse: function(test){
|
|
var parsed = po2json.parse(this.po);
|
|
test.deepEqual(parsed, this.json);
|
|
test.done();
|
|
}
|
|
}
|