| OLD | NEW | 
| (Empty) |  | 
 |   1 # Buildtools unit tests | 
 |   2  | 
 |   3 ## Introduction | 
 |   4  | 
 |   5 Unit tests for buildtools, using the pytest framework. | 
 |   6  | 
 |   7 ## Approach | 
 |   8  | 
 |   9 In order to test the buildtools capability of creating WebExtension-packages | 
 |  10 for Chrome, Edge and Firefox, an example configuration for each platform is | 
 |  11 provided. | 
 |  12 Running the tests calls the same API as the cli would, except for releases | 
 |  13 (we don't want to trigger our releaseAutomation during tests) - in this case, | 
 |  14 a build is manually created and verified). | 
 |  15  | 
 |  16 Each extension is build with different parameters, the resulting package and | 
 |  17 it's content is compared against provided expected results: | 
 |  18  | 
 |  19 - Release or build-only, with or without a specific build-number (Edge) | 
 |  20 - Release, build-only or developement environment, with or without a specifc | 
 |  21   build-number (Chrome, Firefox), with or without a predefined signing key | 
 |  22   (Chrome) | 
 |  23  | 
 |  24 The expected results for each manifest are provided with the files in | 
 |  25 `expecteddata/`. | 
 |  26  | 
 |  27 ## Test cases | 
 |  28  | 
 |  29 _(Covered platforms are referred to as C=Chrome, E=Edge, F=Firefox.)_ | 
 |  30  | 
 |  31 - Metadata inheritance (EF) | 
 |  32 - Correct package filename (CEF) | 
 |  33 - Printed warning about non-square icons (CEF) | 
 |  34 - Presence of JavaScript unit test files in developement environment (CEF) | 
 |  35 - Absence of JavaScript unit test files in build-only or release (CEF) | 
 |  36 - Inlcusion of defined contentScripts into the manifest (CEF) | 
 |  37 - Packaging (and moving) of included icons / scripts / HTML files (CEF) | 
 |  38 - Presence of files for all configured locales (CEF) | 
 |  39 - Correct import of translations with or without placeholders, with or without | 
 |  40   access keys (CEF) | 
 |  41 - Translation presence and validity for the Chrome Web Store (C) | 
 |  42 - Packaging of modularized script files with webpack (CEF) | 
 |  43 - Adherence to provided build-number in the manifest (CEF) | 
 |  44 - Other content in the manifest (CEF) | 
 |  45 - Correct encrypted signature of the package (C) | 
 |  46  | 
 |  47 ## Requirements | 
 |  48  | 
 |  49 - [Tox](https://pypi.python.org/pypi/tox) (>= 2.7.0) | 
 |  50  | 
 |  51 _(Tox will take care of installing the other dependencies such as flake8 and | 
 |  52 flake8-abp inside a virtualenv.)_ | 
 |  53  | 
 |  54 ## Usage | 
 |  55  | 
 |  56 To run the tests simply run | 
 |  57  | 
 |  58 ``` | 
 |  59 $ tox | 
 |  60 ``` | 
 |  61  | 
 |  62 in the buildtools' root folder. | 
 |  63  | 
 |  64 ## Coverage | 
 |  65  | 
 |  66 Pytest will create a coverage report as output to the terminal, using the | 
 |  67 pytest plugin `pytest-cov`. | 
 |  68  | 
 |  69 In order to get an html report you can add `--cov-report=html` to the | 
 |  70 pytest-command in tox.ini. | 
 |  71  | 
 |  72 For more information please refer to the | 
 |  73 [coverage documentation](https://coverage.readthedocs.io/) | 
| OLD | NEW |