diff --git a/README.md b/README.md index 9db81138..9945ad44 100644 --- a/README.md +++ b/README.md @@ -33,38 +33,39 @@ node, npm, and bower to change them. ### Adding a bower component -Add the package to bower.json under 'dependencies' or - -`bower install *package-name* --save` +Add the package name and version to bower.json under 'dependencies' or `bower +install package-name --save` Next update the "preen" config in bower.json with the list of files we will actually use from the new package, e.g.: ``` "preen": { - "new-package": ["path/to/main.js", "directory/**/*.js"], + "package-name": [ + "path/to/main.js", + "directory/**/*.js" + ], ... } ``` -Now, run `grunt` to delete unused package files and concatenate the -remaining javascript files into `js-deps/bower_components.js`. Note that -packages will be concatenated **in order** as specified in the preen -config. + +Now, run `grunt` to delete unused package files and concatenate the remaining +javascript files into `js-deps/bower_components.js`. Note that packages will be +concatenated **in the order** that they are listed in the preen config. Finally, stage and commit changes to bower.json, js-deps/bower_components.js, and bower_components/. The latter should be limited to files we actually use. Tests ===== -Please write tests! Our testing framework is mocha and our assertion library is -chai: +Please write tests! Our testing framework is +[mocha](http://visionmedia.github.io/mocha/) and our assertion library is +[chai](http://chaijs.com/api/assert/). - * http://visionmedia.github.io/mocha/ - * http://chaijs.com/api/assert/ +To run tests, open `test/index.html` in your browser. Note that -Tips/Tricks -=========== -* Loading the `test.html` page may read, write or clear localStorage. To avoid - having to choose between running tests and preserving your existing messages, - keys, and other extension data, much of the test suite can be run by starting - a local webserver in the repository root, e.g. `python -m SimpleHTTPServer`. - You can then access the test page at `http://0.0.0.0:8000/test.html`. + * Some tests depend on the native client module. These will fail unless you + load the test page from the `chrome-extension://` namespace (as opposed to + the `file://` namespace or via a local webserver. + * Some tests may read, write or clear localStorage. It is recommended that you + create a Chrome user profile just for running tests to avoid clobbering any + existing account and message data.