privatebin/tst
2017-03-25 13:19:11 +01:00
..
Data Merge branch 'master' into js-unit-testing 2017-03-25 09:06:04 +01:00
Persistence
Bootstrap.php removing duplicate code, cleanup of temporary test files 2017-03-24 23:42:11 +01:00
ConfigurationTest.php
ConfigurationTestGenerator.php
FilterTest.php bumping required PHP to 5.4, removing unneccessary code, resolves #186 2017-03-05 11:22:24 +01:00
I18nTest.php added missing/removed translation IDs found using improved unit test (#201) 2017-03-25 13:19:11 +01:00
JsonApiTest.php removing duplicate code, cleanup of temporary test files 2017-03-24 23:42:11 +01:00
ModelTest.php applying styleCI recommendations 2017-03-24 21:35:50 +01:00
phpunit.xml starting to work on JSVerify & Mocha based unit tests for our JS code base 2017-01-29 14:31:44 +01:00
PrivateBinTest.php updated .htaccess format, refactored .htaccess creation logic and improving code coverage, fixes #194 2017-03-24 21:30:08 +01:00
PrivateBinWithDbTest.php
README.md starting to work on JSVerify & Mocha based unit tests for our JS code base 2017-01-29 14:31:44 +01:00
RequestTest.php removing duplicate code, cleanup of temporary test files 2017-03-24 23:42:11 +01:00
SjclTest.php updated .htaccess format, refactored .htaccess creation logic and improving code coverage, fixes #194 2017-03-24 21:30:08 +01:00
ViewTest.php fixing page template, removing error messages when markdown or source are disabled in configuration, re-removing unnecessary spans 2017-03-12 14:16:08 +01:00
Vizhash16x16Test.php

Running PHP unit tests

In order to run these tests, you will need to install the following packages and its dependencies:

  • phpunit
  • php-gd
  • php-sqlite3
  • php-xdebug (for code coverage reports)

Example for Debian and Ubuntu:

$ sudo apt install phpunit php-gd php-sqlite php-xdebug

To run the tests, just change into this directory and run phpunit:

$ cd PrivateBin/tst
$ phpunit

Running JavaScript unit tests

In order to run these tests, you will need to install the following packages and its dependencies:

  • npm

Then you can use the node package manager to install the latest stable release of mocha and istanbul (for code coverage reports) globally and jsVerify, jsdom and jsdom-global locally:

$ npm install -g mocha istanbul
$ cd PrivateBin/js
$ npm install jsverify jsdom jsdom-global

Example for Debian and Ubuntu, including steps to allow current user to install node modules globally:

$ sudo apt install npm
$ sudo mkdir /usr/local/lib/node_modules
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
$ ln -s /usr/bin/nodejs /usr/local/bin/node
$ npm install -g mocha istanbul
$ cd PrivateBin/js
$ npm install jsverify jsdom jsdom-global

To run the tests, just change into the js directory and run istanbul:

$ cd PrivateBin/js
$ istanbul cover _mocha