From 0aef81f4e9d86680ff5e570d5c093d507481ac10 Mon Sep 17 00:00:00 2001 From: Taavi Sangel Date: Mon, 4 Dec 2017 13:53:16 +0200 Subject: [PATCH] added test for multiline msgctxt #31 --- test/fixtures/big.po | 6 ++++++ test/parse.js | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/test/fixtures/big.po b/test/fixtures/big.po index c5236df..f315c9f 100644 --- a/test/fixtures/big.po +++ b/test/fixtures/big.po @@ -296,3 +296,9 @@ msgstr "This folder is empty." msgctxt "folder action" msgid "Empty folder" msgstr "Make this folder empty." + +msgctxt "" +"folder " +"meta" +msgid "Created Date" +msgstr "Date de création" diff --git a/test/parse.js b/test/parse.js index 3a2fe63..b280634 100644 --- a/test/parse.js +++ b/test/parse.js @@ -6,7 +6,7 @@ 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, 69); + assert.equal(po.items.length, 70); var item = po.items[0]; assert.equal(item.msgid, 'Title'); @@ -121,6 +121,17 @@ describe('Parse', function () { assert.equal(ambiguousItems[1].msgctxt, 'folder action'); }); + it('Parses item multiline context', function () { + var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/big.po', 'utf8')); + + var item = po.items.find(function (item) { + return item.msgid === 'Created Date' && item.msgctxt === 'folder meta'; + }); + + assert.notEqual(item, undefined); + assert.equal(item.msgctxt, 'folder meta'); + }); + it('Handles obsolete items', function () { var po = PO.parse(fs.readFileSync(__dirname + '/fixtures/commented.po', 'utf8'));