Tone.js/test
2016-03-04 19:20:36 -05:00
..
audio switching to mp3 for testing 2016-03-04 19:07:08 -05:00
component removing test which doesn't pass on Chromium 2016-03-04 19:20:36 -05:00
control removing exponent member 2015-11-17 22:51:32 -05:00
core adding karma testing files and hooks 2016-03-04 16:25:44 -05:00
deps cross checking note conversions against teoria 2015-08-16 22:17:59 -04:00
effect switching to mp3 for testing 2016-03-04 19:07:08 -05:00
event .events -> .values 2016-03-04 15:35:10 -05:00
helper testing envelope canceling 2016-03-04 15:54:39 -05:00
instrument basic sanity checks for PolySynth 2016-02-08 13:44:49 -05:00
signal removing setTimeouts where possible 2016-03-04 16:00:05 -05:00
source adding karma testing files and hooks 2016-03-04 16:25:44 -05: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 updating testing flags 2015-11-04 15:59:09 -05:00

gulp test from within the gulp folder to start a server and run all of the tests.

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 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

Currently, Chrome is the target test platform. 100% of tests should pass. Fewer tests tends to pass in Safari and even fewer in Firefox. The goal is to have 100% pass on all browsers, but since the speicification and implementations are all relatively new, there are still a few kinks to work out.

Be sure that the browser window is in focus while tests are running. Timing in Tone.js is done using requestAnimationFrame which fires at a low priority or no priority if the tab is not in focus.