Commit graph

15 commits

Author SHA1 Message Date
Leo
1620b147da clean up repo 2017-01-30 11:18:47 -05:00
Leo
6ab2b6b6c3 merge to next 2017-01-30 11:04:14 -05:00
Pierre-Yves Gerardy
aeb5f05706 Add the old test suite to the grunt task for both local tests and CI
This relies on a hack to bypass the `mocha` detection by `grunt-mocha-phantomjs`.
The tests have to run in less than 10 seconds, which is unlikely to be problematic on current
hardware.

Alternatively, adding the following to tests/index.html also makes the old test suite compatible
with the mocha runner, but it entails loading `mocha`:

    <script src="../node_modules/mocha/mocha.js"></script>
    <script>
        mocha.setup("bdd")
        describe("dummy test", function(){
            it("is a dummy test to run the old test suite with grunt-mocha-phantomjs like the new one", function(){})
        })
        mocha.run()
    </script>
2016-09-11 16:21:45 +02:00
Leo Horie
ec07d76fcd m.fragment docs
public api tests
2016-08-24 00:26:15 -04:00
Leo Horie
13fdb60f66 clean slate 2016-04-20 20:01:04 -04:00
Leo Horie
04847785a0 Revert "Use common mock for tests."
This reverts commit f589aa2005.
2016-04-19 22:53:59 -04:00
impinball
f589aa2005 Use common mock for tests. 2016-03-02 14:10:30 -05:00
impinball
fb3a534de0 Lint old tests 2016-01-22 14:07:25 -05:00
Leo Horie
270b20a2b0 v0.2.2-rc.1 2015-12-20 09:14:28 -05:00
impinball
12b8f044f1 Convert tests to Mocha/Chai/Sinon and lint them.
Details:

1. All tests now live in `test`. All test dependencies that aren't from npm live
   in `test-deps`.

2. The QUnit tests are gone, as well as their dependencies. Half of them
   duplicated existing tests, and some of them depended on the real DOM to
   properly test.

3. All tests are now using Mocha to run the tests, Chai for assertions, and
   Sinon and Sinon Chai for testing some callbacks.

4. Tests are run through mocha-phantomjs. If you want to run just the tests,
   run `grunt mocha_phantomjs` or fire up a server in the root and open
   `http://localhost:<port>/test/index.html`, e.g. `python3 -m http.server`.

5. The linter I chose is ESLint. It is relatively easy to configure, but with a
   lot of flexibility. The rules I chose mostly were in tune to the style the
   project was already using. I'm not including a style guide in this commit,
   but one will likely come. You can check out the `.eslintrc` in the root and
   in `test/` for the two configs. The `.eslintignore` includes a TODO for
   `mithril.js` itself targeted at me, in the root.

Other info:

- As a drive-by fix, I fixed line endings on a few of the files.

- I also took care of a few other files and linted them as I went:

  - `Gruntfile.js`
  - `test/input-cursor.html` (was in `tests/`)
  - `test/svg.html` (was in `tests/`)
  - `docs/layout/tools/template-converter.html`
  - `docs/layout/tools/template-converter.js`

  I didn't test the template converter after linting it, because it needs
  further scrutiny to ensure it works with the latest version of Mithril. I
  know the API has changed a little, which is why I want to be sure.

- I simplified the `.travis.yml` file because none of the tests are run directly
  through Node anymore. They are always run in a browser of some kind.

Hopefully, this turned out all right...
2015-10-31 11:07:22 -04:00
Leo Horie
2923104d27 clean up 2015-04-13 08:29:03 -04:00
Leo Horie
dc42632e5a #299 fix key bug when nulls are mixed in 2014-12-08 09:55:32 -05:00
Leo Horie
a4c98e63e8 Fix tests for IE 2014-10-06 21:46:18 -04:00
Leo Horie
50173f0e74 fix IE null ref exception 2014-10-03 13:31:02 -04:00
Leo Horie
70b2489539 initial release 2014-03-16 22:07:53 -04:00