From c2ec2f5fcf86750337b961403f1eef3f20708562 Mon Sep 17 00:00:00 2001 From: Phillip Johnsen Date: Tue, 22 Oct 2019 18:35:10 +0200 Subject: [PATCH] Add CI test verifying Mustache works with CommonJS This is a precursor to introducing a build step that will change what we expose from this package. Better off writing some tests to verify existing projects with different module systems continue to work as expected. --- .github/workflows/verify.yml | 19 +++++++++++++++++++ test/module-systems/.eslintrc | 6 ++++++ test/module-systems/commonjs-test.js | 12 ++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 test/module-systems/.eslintrc create mode 100644 test/module-systems/commonjs-test.js diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 9fdf450..c2a9827 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -38,3 +38,22 @@ jobs: run: | npm install mocha@3 chai@3 npm run test-unit + + common-js-usage: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: Setup Node.js + uses: actions/setup-node@v1 + with: + node-version: 12.x + - name: Package, install and test + run: | + export ARCHIVE_FILENAME=$(npm pack | tail -n 1) + export UNPACK_DESTINATION=$(mktemp -d) + mv $ARCHIVE_FILENAME $UNPACK_DESTINATION + cp test/module-systems/commonjs-test.js $UNPACK_DESTINATION + cd $UNPACK_DESTINATION + npm install $ARCHIVE_FILENAME + node commonjs-test.js diff --git a/test/module-systems/.eslintrc b/test/module-systems/.eslintrc new file mode 100644 index 0000000..e16e02c --- /dev/null +++ b/test/module-systems/.eslintrc @@ -0,0 +1,6 @@ +{ + "extends": "../.eslintrc", + "parserOptions": { + "ecmaVersion": 2017 + } +} \ No newline at end of file diff --git a/test/module-systems/commonjs-test.js b/test/module-systems/commonjs-test.js new file mode 100644 index 0000000..357c569 --- /dev/null +++ b/test/module-systems/commonjs-test.js @@ -0,0 +1,12 @@ +const assert = require('assert'); +const mustache = require('mustache'); + +const view = { + title: 'Joe', + calc: () => 2 + 4 +}; + +assert.strictEqual( + mustache.render('{{title}} spends {{calc}}', view), + 'Joe spends 6' +);