OLD | NEW |
1 Adblock Plus core | 1 Adblock Plus core |
2 ================= | 2 ================= |
3 | 3 |
4 This repository contains the generic Adblock Plus code that's shared between | 4 This repository contains the generic Adblock Plus code that's shared between |
5 platforms. This repository is not designed to be used directly, but instead to | 5 platforms. This repository is not designed to be used directly, but instead to |
6 serve as a dependency for `adblockplus`, `adblockpluschrome` and | 6 serve as a dependency for `adblockplus`, `adblockpluschrome` and |
7 `libadblockplus`. | 7 `libadblockplus`. |
8 | 8 |
9 Running the unit tests | 9 Running the unit tests |
10 ---------------------- | 10 ---------------------- |
11 | 11 |
12 ### Requirements | 12 ### Requirements |
13 | 13 |
14 In order to run the unit test suite you need | 14 In order to run the unit test suite you need |
15 [Node.js 6 or higher](https://nodejs.org/). Once Node.js is installed please run | 15 [Node.js 7 or higher](https://nodejs.org/). Once Node.js is installed please run |
16 `npm install` in the repository directory in order to install the required | 16 `npm install` in the repository directory in order to install the required |
17 dependencies. | 17 dependencies. |
18 | 18 |
19 ### Running all tests | 19 ### Running all tests |
20 | 20 |
21 `npm test` will run all tests in the `test` directory of the repository. | 21 `npm test` will run all tests in the `test` directory of the repository. |
22 | 22 |
23 ### Running specific tests | 23 ### Running specific tests |
24 | 24 |
25 You can specify specific test files or directories on the command line, e.g.: | 25 You can specify specific test files or directories on the command line, e.g.: |
26 `npm test test/synchronizer.js test/browser/elemHideEmulation.html`. | 26 `npm test test/synchronizer.js test/browser/elemHideEmulation.html`. |
27 | 27 |
28 ### Running the browser tests in a real browser | 28 ### Running the browser tests in a real browser |
29 | 29 |
30 The tests under `test/browser` require a browser environment. `npm test` will | 30 The tests under `test/browser` require a browser environment. `npm test` will |
31 run these in a headless browser, with each module being loaded in a new frame. | 31 run these in a headless browser, with each module being loaded in a new frame. |
32 *Note*: Currently this environment is limited to ECMAScript 5, this limitation | |
33 should hopefully be resolved soon. | |
34 | 32 |
35 Linting | 33 Linting |
36 ------- | 34 ------- |
37 | 35 |
38 You can lint the code using [ESLint](http://eslint.org). | 36 You can lint the code using [ESLint](http://eslint.org). |
39 | 37 |
40 eslint *.js chrome lib test | 38 eslint *.js chrome lib test |
41 | 39 |
42 You will need to set up ESLint and our configuration first, see | 40 You will need to set up ESLint and our configuration first, see |
43 [eslint-config-eyeo](https://hg.adblockplus.org/codingtools/file/tip/eslint-conf
ig-eyeo) | 41 [eslint-config-eyeo](https://hg.adblockplus.org/codingtools/file/tip/eslint-conf
ig-eyeo) |
44 for more information. | 42 for more information. |
OLD | NEW |