Skip to content
JavaScript Python
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Noissue - Fix typo Aug 14, 2019
.gitlab/issue_templates Noissue - Convert GitLab issue templates from Trac-style to common ma… Apr 12, 2019
build
data Noissue - Update public suffix list Aug 30, 2019
lib Refs #29 - Fix match result cache key Aug 30, 2019
test Fixed #68 - Always keep filter text index Aug 28, 2019
.eslintignore Issue 4796 - Use a modern JS engine in the browser tests and convert … Apr 27, 2017
.eslintrc.json Issue 4796 - Use a modern JS engine in the browser tests and convert … Apr 27, 2017
.gitignore Issue 7225 - Add jsdoc script to package.json Jan 28, 2019
.gitlab-ci.yml Noissue - Ensure npm is installed on CI Jul 16, 2019
.hgignore Issue 7225 - Add jsdoc script to package.json Jan 28, 2019
.jsdoc.conf Issue 7225 - Add jsdoc script to package.json Jan 28, 2019
.npmrc Fixed #22 - Stop generating package-lock.json May 25, 2019
.travis.yml
COPYING
README.md Refs #26 - test_runner uses Mocha directly Jul 30, 2019
dependencies
ensure_dependencies.py Issue 3952 - Updated buildtools dependency for whitespace changes and… Apr 18, 2016
generate_docs.py
package.json Refs #26 - Use mocha for browser tests Aug 21, 2019
test_runner.js Refs #26 - Use mocha for browser tests Aug 21, 2019

README.md

Adblock Plus core

This repository contains the generic Adblock Plus code that's shared between platforms. This repository is not designed to be used directly, but instead to serve as a dependency for adblockplus, adblockpluschrome and libadblockplus.

Running the unit tests

Requirements

In order to run the unit test suite you need Node.js 7 or higher. Once Node.js is installed please run npm install in the repository directory in order to install the required dependencies.

Running all tests

npm test will run all tests in the test directory of the repository.

Running specific tests

You can specify specific test files or directories on the command line, e.g.: npm test test/synchronizer.js test/browser/elemHideEmulation.js.

Running the browser tests in a real browser

The tests under test/browser require a browser environment. npm test will run these in a headless browser, with each module being loaded in a new frame.

The default is to run in both Chromium (using the remote interface) and Firefox. You can select which runners to use by setting the BROWSER_TEST_RUNNERS environment, the default is "chromium_remote,firefox". Possible values (separated by a ',') are:

  • "chromium_remote": Chromium 60 (using the remote interface)
  • "chromium": Chrome 63 (using WebDriver)
  • "firefox": Firefox 57 (using WebDriver)

You can not set a specific version of the browser at runtime.

Browser tests run headless by default (except on Windows). If you want to disable headless mode on the WebDriver controlled tests, set the BROWSER_TEST_HEADLESS environment to 0.

Browser caching

By default, the browsers used for testing are cached for later use in <root>/{chromium|firefox}-snapshots. You can specify the caching folder with the environment variable BROWSER_SNAPSHOT_DIR:

$ export BROWSER_SNAPSHOT_DIR="~/snapshots"

Please note, that said folder needs to exist beforehand.

Linting

You can lint the code using ESLint by running npm run lint.

You can’t perform that action at this time.