Tone.js/test
Yotam Mann c08e16087f correctly setting PPQ
wasn’t taking into account that the returns bpm value was dependent on
the PPQ. therefore, need to read the bpm before setting the PPQ.
2016-07-06 23:23:14 -04:00
..
audio speeding up player tests 2016-05-17 23:03:19 -04:00
component testing retrigger with custom curve 2016-06-17 13:15:41 -04:00
control CtrlInterpolate no longer interpolates notes 2016-04-18 02:07:24 -04:00
core correctly setting PPQ 2016-07-06 23:23:14 -04:00
deps cross checking note conversions against teoria 2015-08-16 22:17:59 -04:00
effect using non-mp3s for testing 2016-03-05 00:07:17 -05:00
event tests accurately reset the PPQ each time 2016-04-18 02:04:48 -04:00
helper increasing timeout time 2016-07-06 22:47:30 -04:00
instrument sampler tests 2016-07-06 22:33:07 -04:00
signal adjusting thresholds to accommodate a FF precision 2016-05-23 19:19:38 -04:00
source removing redundant reverse test 2016-07-05 21:55:17 -04:00
type adjusting thresholds for test 2016-06-12 10:06:39 -04:00
.jshintrc adding "before" and "context" 2015-08-18 17:08:48 -04:00
index.html renamed test html file 2015-08-17 01:04:04 -04:00
karmaTest.js adding karma testing files and hooks 2016-03-04 16:25:44 -05:00
README.md updated testing README 2016-03-29 19:42:31 -04:00

I am currently using two test runners: mocha and karma + mocha.

From within the gulp folder, run gulp browser-test to collect all of the files, launch a local server and run the tests. If you run gulp karma-test, the tests can be configured to run across multiple browsers simultaneously.

Be sure that the browser window is in focus while tests are running.

Individual files can be tested by running gulp collectTests -f [Tone class name] which will update the test/Main.js with the given class' tests. You can then refresh the test/index.html page to rerun those tests.

You can also test groups of classes by folder by adding another flag. For example to test all of the signals run gulp collectTests --signal. or the shorthand form: gulp collectTests -s.

  • -s = --signal
  • -i = --instrument
  • -o = --source
  • -v = --event
  • -e = --effect
  • -c = --core
  • -m = --component
  • -t = --control

The tests target the latest specification and not any specific browser. I have been keeping a list of which features browsers/versions currently support in test/helper/Supports.js. Some tests are only conditionally run if that feature is supported on the platform.