%PDF- %PDF-
| Direktori : /var/www/projetos/stb.ind.br/wp-content/themes/stb/node_modules/node-wp-i18n/test/ |
| Current File : /var/www/projetos/stb.ind.br/wp-content/themes/stb/node_modules/node-wp-i18n/test/makepot.js |
var fs = require('fs');
var gettext = require('gettext-parser');
var makepot = require('../lib/makepot');
var path = require('path');
var test = require('tap').test;
test('makepot default', function(t) {
t.plan(3);
makepot({
cwd: path.resolve('tmp/makepot/basic-plugin')
}).then(function() {
var potFilename = path.resolve('tmp/makepot/basic-plugin/basic-plugin.pot');
t.ok(fs.statSync(potFilename));
var pot = gettext.po.parse(fs.readFileSync(potFilename, 'utf8'));
var pluginName = 'Example Plugin';
t.equal(pot.headers['project-id-version'], pluginName, 'the plugin name should be the project id in the pot file');
t.equal(pot.translations[''][ pluginName ]['msgid'], pluginName, 'the plugin name should be included as a string in the pot file');
});
});
test('makepot custom pot file', function(t) {
t.plan(1);
makepot({
cwd: path.resolve('tmp/makepot/basic-plugin'),
potFile: 'custom.pot'
}).then(function() {
var potFilename = path.resolve('tmp/makepot/basic-plugin/custom.pot');
t.ok(fs.statSync(potFilename));
});
});
test('makepot no changes', function(t) {
t.plan(2);
var potFilename = path.resolve('tmp/makepot/plugin-with-pot/plugin-with-pot.pot');
var pot = gettext.po.parse(fs.readFileSync(potFilename, 'utf8'));
var creationDate = pot.headers['pot-creation-date'];
makepot({
cwd: path.resolve('tmp/makepot/plugin-with-pot'),
potComments: 'Copyright',
potHeaders: {
'x-generator': 'node-wp-i18n'
},
updateTimestamp: false
}).then(function() {
t.ok(fs.statSync(potFilename));
var pot = gettext.po.parse(fs.readFileSync(potFilename, 'utf8'));
t.equal(pot.headers['pot-creation-date'], creationDate, 'the creation date should not change');
});
});
/**
* @link https://github.com/cedaro/node-wp-i18n/issues/16
*/
test('makepot when working directory is not package root', function(t) {
t.plan(3);
makepot({
cwd: path.resolve('tmp/makepot/nested-theme'),
domainPath: '/languages',
mainFile: 'subdir/style.css',
potFile: 'nested-theme.pot',
type: 'wp-theme'
}).then(function() {
var potFilename = path.resolve('tmp/makepot/nested-theme/languages/nested-theme.pot');
t.ok(fs.statSync(potFilename));
var pot = gettext.po.parse(fs.readFileSync(potFilename, 'utf8'));
var themeName = 'Example Theme';
t.equal(pot.headers['project-id-version'], themeName, 'the theme name should be the project id in the pot file');
t.equal(pot.translations[''][ themeName ]['msgid'], themeName, 'the theme name should be included as a string in the pot file');
});
});