| OLD | NEW |
| 1 sheriff-o-matic must be run from a server in order to handle polymer imports cor
rectly. | 1 # INSTALLING NPM/BOWER |
| 2 | 2 |
| 3 1. cd Tools | |
| 4 2. python -m SimpleHTTPServer | |
| 5 3. Load http://localhost:8000/GardeningServer/sheriff-o-matic.html | |
| 6 | |
| 7 Run the tests via http://localhost:8000/GardeningServer/run-unittests.html. | |
| 8 | |
| 9 Polymer must be synced via bower in order for anything to work. | |
| 10 | |
| 11 INSTALLING NPM/BOWER | |
| 12 The version of npm in apt-get is too old for bower. Instead | 3 The version of npm in apt-get is too old for bower. Instead |
| 13 install it from http://nodejs.org/download/. | 4 install it from http://nodejs.org/download/. |
| 14 | 5 |
| 15 Install bower with: | 6 Install bower with: |
| 16 sudo npm install -g bower | |
| 17 | 7 |
| 18 SYNCING POLYMER | 8 $ npm install -g bower |
| 19 1. cd Tools/GardeningServer | |
| 20 2. bower update | |
| 21 | 9 |
| 22 PUSHING | 10 # SYNCING DEPENDENCIES |
| 11 |
| 12 The makefile will update dependencies, including polymer components and testing
libraries: |
| 13 |
| 14 $ make update |
| 15 |
| 16 This just checks for npm and bower, and then runs: |
| 17 |
| 18 $ bower update |
| 19 $ npm install |
| 20 |
| 21 # RUNNING SHERIFF-O-MATIC |
| 22 |
| 23 sheriff-o-matic must be run from a server in order to handle polymer imports cor
rectly. |
| 24 |
| 25 $ cd Tools |
| 26 $ python -m SimpleHTTPServer |
| 27 |
| 28 Then load: http://localhost:8000/GardeningServer/sheriff-o-matic.html |
| 29 |
| 30 # TESTING |
| 31 |
| 32 ## Mocha (new-style) tests |
| 33 |
| 34 The tests can be run in the browser or from the command line. |
| 35 |
| 36 In the browser: http://localhost:8000/GardeningServer/test/run-unit-tests.html |
| 37 |
| 38 From the command line: |
| 39 |
| 40 $ cd Tools/GardeningServer |
| 41 $ make test |
| 42 |
| 43 This will launch karma, run the tests and watch the source files for changes. To
run once and exit, use: |
| 44 |
| 45 $ make single-test |
| 46 |
| 47 Or, you can start karma manually: |
| 48 |
| 49 $ cd Tools/GardeningServer |
| 50 $ ./node_modules/karma/bin/karma start |
| 51 |
| 52 You can shorten this command to 'karma start' if you run 'npm install -g karma-c
li'. |
| 53 |
| 54 ## QUnit (old-style) tests |
| 55 |
| 56 While we still have tests using QUnit, you can run these at: http://localhost:80
00/GardeningServer/run-unittests.html. |
| 57 |
| 58 # PUSHING |
| 59 |
| 23 Fill in the revision you're pushing for XXXX. | 60 Fill in the revision you're pushing for XXXX. |
| 24 1. appcfg.py update . --version rXXXX | 61 1. appcfg.py update . --version rXXXX |
| 25 2. Go to appengine.google.com and select the sheriff-o-matic app. | 62 2. Go to appengine.google.com and select the sheriff-o-matic app. |
| 26 3. Click on the version tab | 63 3. Click on the version tab |
| 27 4. Make the rXXXX version the default | 64 4. Make the rXXXX version the default |
| 28 | 65 |
| 29 The versioning is so that we can easily roll back if there's something | 66 The versioning is so that we can easily roll back if there's something |
| 30 wrong with the push and so we can know what we've pushed. | 67 wrong with the push and so we can know what we've pushed. |
| 31 | 68 |
| 32 If you're unsure about whether you might have broken things, before | 69 If you're unsure about whether you might have broken things, before |
| 33 step 4, you can click on the link for that version to see that | 70 step 4, you can click on the link for that version to see that |
| 34 version of the server before you make it the default. | 71 version of the server before you make it the default. |
| 72 |
| 73 # LIBRARIES |
| 74 |
| 75 sugar: Provides generic syntactic sugar for JavaScript, mostly by extending nati
ve object prototypes. |
| 76 |
| 77 karma: test runner. Runs the unit tests in an instance of Chrome and pipes the r
esults to the command |
| 78 line. By default, it watches for changes to files and will automatically
re-run the tests. To run |
| 79 once and exit, use 'karma start --single-run' or 'make single-test'. |
| 80 |
| 81 mocha: testing framework. Provides good asynchronous and synchronous test suppor
t. Tests run serially, |
| 82 so exceptions are reported for the right test case. |
| 83 |
| 84 chai: assertion library. |
| OLD | NEW |