Merge branch 'js-unit-testing'
This commit is contained in:
commit
a1881ff49b
|
@ -15,7 +15,7 @@ before_script:
|
||||||
- composer install -n
|
- composer install -n
|
||||||
- npm install -g mocha
|
- npm install -g mocha
|
||||||
- cd js
|
- cd js
|
||||||
- npm install jsverify jsdom jsdom-global
|
- npm install jsverify jsdom@9 jsdom-global@2
|
||||||
- cd ..
|
- cd ..
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
|
34
js/test.js
34
js/test.js
|
@ -561,6 +561,40 @@ describe('CryptTool', function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Model', function () {
|
describe('Model', function () {
|
||||||
|
describe('getExpirationDefault', function () {
|
||||||
|
before(function () {
|
||||||
|
$.PrivateBin.Model.reset();
|
||||||
|
cleanup();
|
||||||
|
});
|
||||||
|
|
||||||
|
jsc.property(
|
||||||
|
'returns the contents of the element with id "pasteExpiration"',
|
||||||
|
'array asciinestring',
|
||||||
|
'string',
|
||||||
|
'small nat',
|
||||||
|
function (keys, value, key) {
|
||||||
|
keys = keys.map($.PrivateBin.Helper.htmlEntities);
|
||||||
|
value = $.PrivateBin.Helper.htmlEntities(value);
|
||||||
|
var content = keys.length > key ? keys[key] : (keys.length > 0 ? keys[0] : 'null'),
|
||||||
|
contents = '<select id="pasteExpiration" name="pasteExpiration">';
|
||||||
|
keys.forEach(function(item) {
|
||||||
|
contents += '<option value="' + item + '"';
|
||||||
|
if (item === content) {
|
||||||
|
contents += ' selected="selected"';
|
||||||
|
}
|
||||||
|
contents += '>' + value + '</option>';
|
||||||
|
});
|
||||||
|
contents += '</select>';
|
||||||
|
$('body').html(contents);
|
||||||
|
var result = $.PrivateBin.Helper.htmlEntities(
|
||||||
|
$.PrivateBin.Model.getExpirationDefault()
|
||||||
|
);
|
||||||
|
$.PrivateBin.Model.reset();
|
||||||
|
return content === result;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
describe('getPasteId', function () {
|
describe('getPasteId', function () {
|
||||||
before(function () {
|
before(function () {
|
||||||
$.PrivateBin.Model.reset();
|
$.PrivateBin.Model.reset();
|
||||||
|
|
|
@ -51,7 +51,7 @@ and jsdom-global locally:
|
||||||
```console
|
```console
|
||||||
$ npm install -g mocha istanbul
|
$ npm install -g mocha istanbul
|
||||||
$ cd PrivateBin/js
|
$ cd PrivateBin/js
|
||||||
$ npm install jsverify jsdom jsdom-global
|
$ npm install jsverify jsdom@9 jsdom-global@2
|
||||||
```
|
```
|
||||||
|
|
||||||
Example for Debian and Ubuntu, including steps to allow the current user to
|
Example for Debian and Ubuntu, including steps to allow the current user to
|
||||||
|
@ -63,9 +63,12 @@ $ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
|
||||||
$ ln -s /usr/bin/nodejs /usr/local/bin/node
|
$ ln -s /usr/bin/nodejs /usr/local/bin/node
|
||||||
$ npm install -g mocha istanbul
|
$ npm install -g mocha istanbul
|
||||||
$ cd PrivateBin/js
|
$ cd PrivateBin/js
|
||||||
$ npm install jsverify jsdom jsdom-global
|
$ npm install jsverify jsdom@9 jsdom-global@2
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Note: If you use a distribution that provides nodeJS >= 6, then you can install
|
||||||
|
the latest jsdom and jsdom-global packages and don't need to use @9 and @2.
|
||||||
|
|
||||||
To run the tests, just change into the `js` directory and run istanbul:
|
To run the tests, just change into the `js` directory and run istanbul:
|
||||||
```console
|
```console
|
||||||
$ cd PrivateBin/js
|
$ cd PrivateBin/js
|
||||||
|
|
Loading…
Reference in New Issue