diff --git a/js/.gitignore b/js/.gitignore new file mode 100644 index 0000000000..5c843fd1c1 --- /dev/null +++ b/js/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +.nyc_output/ +coverage/ diff --git a/js/README.md b/js/README.md new file mode 100644 index 0000000000..f2c642c4b5 --- /dev/null +++ b/js/README.md @@ -0,0 +1,27 @@ +# Running Tests + +# In the Browser + +open `SpecRunner.html` in your browser + +You can also open `TexttestFixture.html` to see an overview + +# In NodeJS + +Install dependencies + +``` +npm install +``` + +Run tests + +``` +npm test +``` + +To auto-run on change, install `nodemon` and then you can do + +``` +nodemon --exec jasmine +``` diff --git a/js/TexttestFixture.html b/js/TexttestFixture.html index cf45349573..422f37c569 100644 --- a/js/TexttestFixture.html +++ b/js/TexttestFixture.html @@ -1,7 +1,7 @@
- +OMGHAI!
'); + var items = []; + items.push(new Item('+5 Dexterity Vest', 10, 20)); items.push(new Item('Aged Brie', 2, 0)); items.push(new Item('Elixir of the Mongoose', 5, 7)); @@ -28,7 +30,7 @@ for (var i = 0; i < days; i++) { showHeaderFor(i); showItemsFor(i); - update_quality(); + items = update_quality(items); } function showHeaderFor(day) { diff --git a/js/package-lock.json b/js/package-lock.json new file mode 100644 index 0000000000..f6e151f77c --- /dev/null +++ b/js/package-lock.json @@ -0,0 +1,112 @@ +{ + "name": "gilded-rose-kata", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "jasmine": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.3.1.tgz", + "integrity": "sha512-/vU3/H7U56XsxIXHwgEuWpCgQ0bRi2iiZeUpx7Nqo8n1TpoDHfZhkPIc7CO8I4pnMzYsi3XaSZEiy8cnTfujng==", + "dev": true, + "requires": { + "glob": "^7.0.6", + "jasmine-core": "~3.3.0" + } + }, + "jasmine-core": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.3.0.tgz", + "integrity": "sha512-3/xSmG/d35hf80BEN66Y6g9Ca5l/Isdeg/j6zvbTYlTzeKinzmaTM4p9am5kYqOmE05D7s1t8FGjzdSnbUbceA==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } +} diff --git a/js/package.json b/js/package.json new file mode 100644 index 0000000000..c512905b87 --- /dev/null +++ b/js/package.json @@ -0,0 +1,14 @@ +{ + "name": "gilded-rose-kata", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "jasmine" + }, + "author": "CircleCI", + "license": "MIT", + "devDependencies": { + "jasmine": "^3.3.0" + } +} diff --git a/js/runner.js b/js/runner.js new file mode 100644 index 0000000000..45bed0e507 --- /dev/null +++ b/js/runner.js @@ -0,0 +1,35 @@ +const fs = require("fs"); +const path = require("path"); + +const {Item, update_quality} = require('./src/gilded_rose'); + +if (process.argv.length < 3) { + console.warn("Usage: node runner.js