diff --git a/Dockerfile b/Dockerfile index f4fbe9a..0bb15a1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ RUN addgroup -S duster && adduser -S duster -G duster # Install LinkedIn DustJS. Installing it globally before copying in # the repo to avoid spamming the npm servers with every codebase # change. -RUN npm install -g dustjs-linkedin +RUN npm install -g dustjs-linkedin dustjs-helpers # Copy repo into duster user's directory @@ -22,5 +22,5 @@ RUN chown -R duster:duster /home/duster/duster USER duster RUN git clean -dfxq RUN cargo build -RUN npm link dustjs-linkedin +RUN npm link dustjs-linkedin dustjs-helpers ENTRYPOINT ["/home/duster/duster/js/run_compliance_suite.bash"] diff --git a/js/dustjs_shim.js b/js/dustjs_shim.js index 4e02180..c38f06d 100644 --- a/js/dustjs_shim.js +++ b/js/dustjs_shim.js @@ -1,20 +1,21 @@ -var dust = require('dustjs-linkedin'); -var fs = require('fs'); -const path = require('path'); +// var dust = require("dustjs-linkedin"); +var dust = require("dustjs-helpers"); +var fs = require("fs"); +const path = require("path"); var argv = process.argv.slice(2); if (argv.length < 1) { console.error("Expecting only 1 argument (a path to a template)"); process.exit(1); } -var context = JSON.parse(fs.readFileSync(0, 'utf-8')); +var context = JSON.parse(fs.readFileSync(0, "utf-8")); var main_template = path.parse(argv[0])["name"]; for (var i = 0, len = argv.length; i < len; ++i) { var filename = path.parse(argv[i])["name"]; try { - var template_source = fs.readFileSync(argv[i], 'utf-8'); + var template_source = fs.readFileSync(argv[i], "utf-8"); } catch (err) { console.error(err); process.exit(1); diff --git a/js/test_cases/helpers_eq/input1.json b/js/test_cases/helpers_eq/input1.json new file mode 100644 index 0000000..0ed8d16 --- /dev/null +++ b/js/test_cases/helpers_eq/input1.json @@ -0,0 +1,6 @@ +{ + "str": "master", + "int": 7, + "alpha": 21, + "beta": "21" +} diff --git a/js/test_cases/helpers_eq/main.dust b/js/test_cases/helpers_eq/main.dust new file mode 100644 index 0000000..37a9de8 --- /dev/null +++ b/js/test_cases/helpers_eq/main.dust @@ -0,0 +1,10 @@ +Testing helpers:{~n} +str is {str}{~n} +int is {int}{~n} +alpha is {alpha}{~n} +beta is {beta}{~n} +{@eq key=str value="master"}str is equal to "master"{:else}str does not equal "master"{/eq}{~n} +{@eq key=str value="7"}str is equal to "7"{:else}str does not equal "7"{/eq}{~n} +{@eq key=int value="7"}int is equal to "7"{:else}int does not equal "7"{/eq}{~n} +{@eq key=int value=7}int is equal to 7{:else}int does not equal 7{/eq}{~n} +{@eq key=alpha value=beta}alpha is equal to beta{:else}alpha does not equal beta{/eq}{~n}