mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Merge pull request #1122 from CANDY-LINE/feature/i18n-issue
Fix empty extra node help content issue
This commit is contained in:
commit
571b9fb8e0
@ -393,8 +393,10 @@ function getNodeHelp(node,lang) {
|
|||||||
}
|
}
|
||||||
if (help) {
|
if (help) {
|
||||||
node.help[lang] = help;
|
node.help[lang] = help;
|
||||||
|
} else if (lang === runtime.i18n.defaultLang) {
|
||||||
|
return null;
|
||||||
} else {
|
} else {
|
||||||
node.help[lang] = node.help[runtime.i18n.defaultLang];
|
node.help[lang] = getNodeHelp(node, runtime.i18n.defaultLang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return node.help[lang];
|
return node.help[lang];
|
||||||
|
@ -564,6 +564,45 @@ describe("red/nodes/registry/loader",function() {
|
|||||||
loader.getNodeHelp(node,"fr").should.eql("foo");
|
loader.getNodeHelp(node,"fr").should.eql("foo");
|
||||||
fs.readFileSync.calledOnce.should.be.true();
|
fs.readFileSync.calledOnce.should.be.true();
|
||||||
});
|
});
|
||||||
|
it("loads help, defaulting to en-US content for extra nodes", function() {
|
||||||
|
stubs.push(sinon.stub(fs,"readFileSync", function(path) {
|
||||||
|
if (path.indexOf("en-US") >= 0) {
|
||||||
|
return 'bar';
|
||||||
|
}
|
||||||
|
throw new Error("not found");
|
||||||
|
}));
|
||||||
|
var node = {
|
||||||
|
template: "/tmp/node/directory/file.html",
|
||||||
|
help:{}
|
||||||
|
};
|
||||||
|
delete node.help['en-US'];
|
||||||
|
|
||||||
|
loader.getNodeHelp(node,"fr").should.eql("bar");
|
||||||
|
node.help['fr'].should.eql("bar");
|
||||||
|
fs.readFileSync.calledTwice.should.be.true();
|
||||||
|
fs.readFileSync.firstCall.args[0].should.eql(path.normalize("/tmp/node/directory/locales/fr/file.html"));
|
||||||
|
fs.readFileSync.lastCall.args[0].should.eql(path.normalize("/tmp/node/directory/locales/en-US/file.html"));
|
||||||
|
loader.getNodeHelp(node,"fr").should.eql("bar");
|
||||||
|
fs.readFileSync.calledTwice.should.be.true();
|
||||||
|
});
|
||||||
|
it("fails to load en-US help content", function() {
|
||||||
|
stubs.push(sinon.stub(fs,"readFileSync", function(path) {
|
||||||
|
throw new Error("not found");
|
||||||
|
}));
|
||||||
|
var node = {
|
||||||
|
template: "/tmp/node/directory/file.html",
|
||||||
|
help:{}
|
||||||
|
};
|
||||||
|
delete node.help['en-US'];
|
||||||
|
|
||||||
|
should.not.exist(loader.getNodeHelp(node,"en-US"));
|
||||||
|
should.not.exist(node.help['en-US']);
|
||||||
|
fs.readFileSync.calledTwice.should.be.true();
|
||||||
|
fs.readFileSync.firstCall.args[0].should.eql(path.normalize("/tmp/node/directory/locales/en-US/file.html"));
|
||||||
|
fs.readFileSync.lastCall.args[0].should.eql(path.normalize("/tmp/node/directory/locales/en/file.html"));
|
||||||
|
should.not.exist(loader.getNodeHelp(node,"en-US"));
|
||||||
|
fs.readFileSync.callCount.should.eql(4);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user