Tone.js/test
Yotam Mann e18ed2e677 polyfill for browsers that don't support interpolate value curves
Required by [the
spec](http://webaudio.github.io/web-audio-api/#widl-AudioParam-setValueC
urveAtTime-AudioParam-Float32Array-values-double-startTime-double-durati
on), but not currently implemented by Safari and FF.
2016-03-20 18:36:59 -04:00
..
audio using wave versions for testing 2016-03-04 23:52:17 -05:00
component COMPLEX->ACCURATE 2016-03-18 09:51:41 -04:00
control removing exponent member 2015-11-17 22:51:32 -05:00
core making clock tick more often in offline mode 2016-03-18 11:01:06 -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 making clock tick more often in offline mode 2016-03-18 11:01:06 -04:00
helper making clock tick more often in offline mode 2016-03-18 11:01:06 -04:00
instrument ifdef'ing tests based on current browser support 2016-03-16 13:13:32 -04:00
signal polyfill for browsers that don't support interpolate value curves 2016-03-20 18:36:59 -04:00
source using wave versions for testing 2016-03-04 23:52:17 -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.