Merge pull request #14 from rubenv/fix_issue13

add tests to better document reference comments
This commit is contained in:
Ruben Vermeersch 2014-08-26 10:38:15 +02:00
commit db5e540824
2 changed files with 26 additions and 11 deletions

View File

@ -24,3 +24,7 @@ msgstr "Attribut title, en tant que texte brut"
#: b #: b
msgid "X" msgid "X"
msgstr "Y" msgstr "Y"
#: standard input:12 standard input:17
msgid "Z"
msgstr "ZZ"

View File

@ -67,23 +67,34 @@ describe('Parse', function () {
assert.deepEqual(item.extractedComments, ['Extracted comment']); assert.deepEqual(item.extractedComments, ['Extracted comment']);
}); });
it('Handles string references', function () { describe('Handles string references', function () {
var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/reference.po', 'utf8')); var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/reference.po', 'utf8'));
assert.notEqual(po, null); assert.notEqual(po, null);
assert.equal(po.items.length, 2); assert.equal(po.items.length, 3);
it('in simple cases', function () {
var item = po.items[0]; var item = po.items[0];
assert.equal(item.msgid, 'Title, as plain text'); assert.equal(item.msgid, 'Title, as plain text');
assert.equal(item.msgstr, 'Attribut title, en tant que texte brut'); assert.equal(item.msgstr, 'Attribut title, en tant que texte brut');
assert.deepEqual(item.comments, ['Comment']); assert.deepEqual(item.comments, ['Comment']);
assert.deepEqual(item.references, ['.tmp/crm/controllers/map.js']); assert.deepEqual(item.references, ['.tmp/crm/controllers/map.js']);
});
item = po.items[1]; it('with two different references', function () {
var item = po.items[1];
assert.equal(item.msgid, 'X'); assert.equal(item.msgid, 'X');
assert.equal(item.msgstr, 'Y'); assert.equal(item.msgstr, 'Y');
assert.deepEqual(item.references, ['a', 'b']); assert.deepEqual(item.references, ['a', 'b']);
}); });
it('and does not process reference items', function () {
var item = po.items[2];
assert.equal(item.msgid, 'Z');
assert.equal(item.msgstr, 'ZZ');
assert.deepEqual(item.references, ['standard input:12 standard input:17']);
});
});
it('Parses flags', function () { it('Parses flags', function () {
var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/fuzzy.po', 'utf8')); var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/fuzzy.po', 'utf8'));
assert.notEqual(po, null); assert.notEqual(po, null);