37 lines
1.6 KiB
JavaScript
37 lines
1.6 KiB
JavaScript
|
var assert = require('assert');
|
||
|
var fs = require('fs');
|
||
|
var PO = require('..');
|
||
|
|
||
|
describe('Parse', function () {
|
||
|
it('Parses the big po file', function () {
|
||
|
var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/big.po', 'utf8'));
|
||
|
assert.notEqual(po, null);
|
||
|
assert.equal(po.items.length, 67);
|
||
|
|
||
|
var item = po.items[0];
|
||
|
assert.equal(item.msgid, "Title");
|
||
|
assert.equal(item.msgstr, "Titre");
|
||
|
});
|
||
|
|
||
|
it('Handles multi-line strings', function () {
|
||
|
var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/multi-line.po', 'utf8'));
|
||
|
assert.notEqual(po, null);
|
||
|
assert.equal(po.items.length, 1);
|
||
|
|
||
|
var item = po.items[0];
|
||
|
assert.equal(item.msgid, "The following placeholder tokens can be used in both paths and titles. When used in a path or title, they will be replaced with the appropriate values.");
|
||
|
assert.equal(item.msgstr, "Les ébauches de jetons suivantes peuvent être utilisées à la fois dans les chemins et dans les titres. Lorsqu'elles sont utilisées dans un chemin ou un titre, elles seront remplacées par les valeurs appropriées.");
|
||
|
});
|
||
|
|
||
|
it('Handles string comments', function () {
|
||
|
var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/comment.po', 'utf8'));
|
||
|
assert.notEqual(po, null);
|
||
|
assert.equal(po.items.length, 1);
|
||
|
|
||
|
var item = po.items[0];
|
||
|
assert.equal(item.msgid, "Title, as plain text");
|
||
|
assert.equal(item.msgstr, "Attribut title, en tant que texte brut");
|
||
|
assert.deepEqual(item.comments, ["Comment"]);
|
||
|
});
|
||
|
});
|