jsxgettext
Advanced tools
Comparing version 0.6.3 to 0.7.0
@@ -34,24 +34,42 @@ "use strict"; | ||
/* jshint -W040 */ | ||
return extractGettext(this[key]); | ||
return extractGettext(this[key].val); | ||
} | ||
function isEmpty(obj) { | ||
return obj.length; | ||
var buf = [], lineN, lineAdjust = -1; | ||
function append(text) { | ||
/* jshint -W040 */ | ||
var ctx = this; | ||
if (ctx && ctx.bump) { | ||
lineN += 1; | ||
} | ||
if (text.length) { | ||
buf[lineN] = [buf[lineN], text, ';'].join(''); | ||
} | ||
} | ||
var buf = [], lineN, tmp; | ||
do { | ||
token = lexer.next(); | ||
lineN = token.line - 1; | ||
lineN = token.line + lineAdjust; | ||
switch (token.type) { | ||
case 'attrs': | ||
tmp = Object.keys(token.attrs).map(extractFromObj, token.attrs).filter(isEmpty); | ||
if (tmp.length) | ||
buf[lineN] = tmp.join(';') + ';'; | ||
Object.keys(token.attrs) | ||
.map(extractFromObj, token.attrs) | ||
.forEach(append); | ||
break; | ||
case 'text': | ||
case 'code': | ||
tmp = extractGettext(token.val); | ||
if (tmp.length) buf[lineN] = tmp + ';'; | ||
append(extractGettext(token.val)); | ||
break; | ||
case 'pipeless-text': | ||
token.val | ||
.map(extractGettext) | ||
.forEach(append, { bump: true }); | ||
lineAdjust += token.val.length; | ||
break; | ||
case 'comment': | ||
if (/^\s*L10n:/.test(token.val)) { | ||
append(['/*', token.val, '*/'].join('')); | ||
} | ||
break; | ||
} | ||
@@ -58,0 +76,0 @@ } while (token.type !== 'eos'); |
@@ -6,2 +6,3 @@ { | ||
"Arpad Borsos <arpad.borsos@googlemail.com> (http://swatinem.de/)", | ||
"Damian Krzeminski <pirxpilot@code42day.com> (http://pirxpilot.me/)", | ||
"Doug Beck <doug@douglasbeck.com> (http://douglasbeck.com/)", | ||
@@ -25,3 +26,3 @@ "Chia-liang Kao <clkao@clkao.org> (http://www.clkao.org/)", | ||
"name": "jsxgettext", | ||
"version": "0.6.3", | ||
"version": "0.7.0", | ||
"license": "MPL-2.0", | ||
@@ -48,3 +49,3 @@ "description": "Extracts gettext strings from JavaScript, EJS, Jade, Jinja and Handlebars files.", | ||
"commander": "2.5.0", | ||
"jade": "0.30.0", | ||
"jade": "^1.0.0", | ||
"escape-string-regexp": "1.0.1" | ||
@@ -51,0 +52,0 @@ }, |
@@ -9,19 +9,17 @@ "use strict"; | ||
var utils = require('../utils'); | ||
exports['test parsing'] = function (assert, cb) { | ||
// check that files with leading hash parse | ||
var inputFilename = path.join(__dirname, '..', 'inputs', 'second_attribute.jade'); | ||
var inputFilename = path.join(__dirname, '..', 'inputs', 'example.jade'); | ||
fs.readFile(inputFilename, "utf8", function (err, source) { | ||
var opts = {keyword: ['gettext', '_']}, | ||
sources = {'inputs/second_attribute.jade': source}, | ||
sources = {'inputs/example.jade': source}, | ||
result = jsxgettext.generate.apply(jsxgettext, jade(sources, opts)); | ||
assert.equal(typeof result, 'string', 'result is a string'); | ||
assert.ok(result.length > 1, 'result is not empty'); | ||
assert.ok(result.indexOf('msgid "bar"') > -1, 'bar is found'); | ||
assert.ok(result.indexOf('msgid "same-lime"') > -1, 'same-lime is found'); | ||
assert.ok(result.indexOf('msgid "in text"') > -1, 'in text is found'); | ||
assert.ok(result.indexOf('msgid "foobar"') > -1, 'foobar is found'); | ||
assert.ok(result.indexOf('msgid "underscored"') > -1, 'underscored is found'); | ||
cb(); | ||
assert.ok(result.length > 0, 'result is not empty'); | ||
var outputFilename = path.join(__dirname, '..', 'outputs', 'jade.pot'); | ||
utils.compareResultWithFile(result, outputFilename, assert, cb); | ||
}); | ||
@@ -28,0 +26,0 @@ }; |
Sorry, the diff of this file is not supported yet
72772
71
1144
+ Addedacorn@1.2.22.7.0(transitive)
+ Addedacorn-globals@1.0.9(transitive)
+ Addedalign-text@0.1.4(transitive)
+ Addedasap@1.0.0(transitive)
+ Addedcamelcase@1.2.1(transitive)
+ Addedcenter-align@0.1.3(transitive)
+ Addedcharacter-parser@1.2.1(transitive)
+ Addedclean-css@3.4.28(transitive)
+ Addedcliui@2.1.0(transitive)
+ Addedcommander@2.6.02.8.1(transitive)
+ Addedconstantinople@3.0.2(transitive)
+ Addeddecamelize@1.2.0(transitive)
+ Addedgraceful-readlink@1.0.1(transitive)
+ Addedis-buffer@1.1.6(transitive)
+ Addedis-promise@2.2.2(transitive)
+ Addedjade@1.11.0(transitive)
+ Addedjstransformer@0.0.2(transitive)
+ Addedkind-of@3.2.2(transitive)
+ Addedlazy-cache@1.0.4(transitive)
+ Addedlongest@1.0.1(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.5.6(transitive)
+ Addedpromise@6.1.0(transitive)
+ Addedrepeat-string@1.6.1(transitive)
+ Addedright-align@0.1.3(transitive)
+ Addedsource-map@0.4.40.5.7(transitive)
+ Addedtransformers@2.1.0(transitive)
+ Addeduglify-js@2.8.29(transitive)
+ Addeduglify-to-browserify@1.0.2(transitive)
+ Addedvoid-elements@2.0.1(transitive)
+ Addedwindow-size@0.1.0(transitive)
+ Addedwith@4.0.3(transitive)
+ Addedwordwrap@0.0.2(transitive)
+ Addedyargs@3.10.0(transitive)
- Removedbalanced-match@1.0.2(transitive)
- Removedbrace-expansion@2.0.1(transitive)
- Removedcharacter-parser@1.0.2(transitive)
- Removedcommander@1.1.1(transitive)
- Removedjade@0.30.0(transitive)
- Removedkeypress@0.1.0(transitive)
- Removedminimatch@10.0.1(transitive)
- Removedmkdirp@0.3.5(transitive)
- Removedmonocle@0.1.50(transitive)
- Removedreaddirp@0.2.5(transitive)
- Removedtransformers@2.0.1(transitive)
Updatedjade@^1.0.0