Commit Graph

2674 Commits

Author SHA1 Message Date
Thomas Kluyver
7333d23457 Merge pull request #4285 from ivanov/notebook-casperjs-tests
Notebook javascript test suite using CasperJS
2013-10-23 13:58:06 -07:00
Paul Ivanov
80ac24683f give travis 10 seconds to start server 2013-10-23 12:28:30 -07:00
Paul Ivanov
357b78171a fix: JS kernel state should reflect killed state 2013-10-23 12:22:08 -07:00
Paul Ivanov
26b5a76841 don't use test.begin
the PPA we use on Travis CI doesn't have CasperJS 1.1.0-DEV yet, so
we're better off not using it for now.
2013-10-23 11:49:43 -07:00
Paul Ivanov
4993ddd498 make js tests quieter, silence notebook server 2013-10-23 11:48:33 -07:00
Paul Ivanov
217b43cf87 use test.begin to give test group a name 2013-10-23 11:05:59 -07:00
Paul Ivanov
641f157fd9 add test for shutdown notebook 2013-10-23 11:05:59 -07:00
Paul Ivanov
e971d051ed created a kernel_running method 2013-10-23 11:05:59 -07:00
Paul Ivanov
755565019d adds test of clicking the play button 2013-10-23 11:05:59 -07:00
Paul Ivanov
baf90fd755 add checks for new cell added using shift-enter 2013-10-23 11:05:59 -07:00
Paul Ivanov
89f2ed95f9 refactor of get_output_cell 2013-10-23 11:05:59 -07:00
Paul Ivanov
047f3d76cc minor shortening 2013-10-23 11:05:59 -07:00
Paul Ivanov
1703b289c9 test keyboard interrupt shortcuts 2013-10-23 11:05:59 -07:00
Paul Ivanov
19a20a3c70 add Ctrl-M keyboard shortcut 2013-10-23 11:05:59 -07:00
Paul Ivanov
605573e110 use wait_for_output util function 2013-10-23 11:05:58 -07:00
Paul Ivanov
df2118297b wait_for_output utility function 2013-10-23 11:05:58 -07:00
Paul Ivanov
65810a49e4 utility functions + tests for shift- & ctrl-enter 2013-10-23 11:05:58 -07:00
Paul Ivanov
34c9ad36a2 repeat test with keyboard shortcut 2013-10-23 11:05:58 -07:00
Paul Ivanov
23a7eb325d make sure kernel started running 2013-10-23 11:05:58 -07:00
Paul Ivanov
fe60519410 test kernel interrupt 2013-10-23 11:05:58 -07:00
Paul Ivanov
e8fba5dd6d try to shutdown at the end of every notebook run
this line causes noise in the test suite, but if we just ignore it,
we'll never get to the bottom of it. It seems to only happen when
running 'iptest js', and *not* when running the 'casperjs test' command
directly, with a notebookserver that was launched manually.
2013-10-23 11:05:58 -07:00
Paul Ivanov
7546e57db4 make tests work on TravisCI 2013-10-23 11:05:58 -07:00
Paul Ivanov
7e7ac7ec9e don't shutdown kernel after every test 2013-10-23 11:05:58 -07:00
Paul Ivanov
ebf1320e64 use dashboard to simulate clicking new notebook 2013-10-23 11:05:58 -07:00
Paul Ivanov
c956f28894 make confusing code snippet more readable 2013-10-23 11:05:58 -07:00
Paul Ivanov
a093b4b8ff use new press_up and press_down utils functions 2013-10-23 11:05:58 -07:00
Paul Ivanov
c68eaca621 added a shorthand way to trigger keyboard events
as suggested by @ellisonbg in #4285
2013-10-23 11:05:58 -07:00
Thomas Kluyver
fc639f3d25 Separate out machinery for running JS tests 2013-10-23 11:05:58 -07:00
Thomas Kluyver
f8a36e785d Use Python 3 compatible syntax in tests 2013-10-23 11:04:56 -07:00
Paul Ivanov
6b2692aa4a eliminate hardcoded wait, now wait on outputs
Note: this test still sometimes fails, though I don't understand why.
Increasing the wait time to 30 seconds does not help, which leads me to
believe that there's some race condition, or that we're genuinely
dropping outputs sometimes (saved notebooks on these timeouts *do*
contain an In[] number, but don't have any outputs attached). @ellisonbg
and @minrk might now what's going on with that.

To run just this test, fire up a notebook server on port 8888 and run:

while true; do casperjs test --includes=util.js test_cases/execute_code_cell.js ; done
2013-10-23 11:04:56 -07:00
Paul Ivanov
d46a7d6b75 include js tests in package_data 2013-10-23 11:04:56 -07:00
Paul Ivanov
f2e0315152 pep8 style function names 2013-10-23 11:04:56 -07:00
Paul Ivanov
0ea7d1e394 more informative message on server timeout 2013-10-23 11:03:12 -07:00
Paul Ivanov
3725218069 updated js tests README, --port= now optional 2013-10-23 11:03:12 -07:00
Paul Ivanov
5fbfc30a08 quieter notebook server output for js test suite 2013-10-23 11:03:12 -07:00
Paul Ivanov
3fdbeb5cae use a temporary directory for js tests 2013-10-23 11:03:12 -07:00
Paul Ivanov
c6c5066162 don't try to delete notebooks
this method wasn't currently working, and though we should put a working
method there as a utility, it isn't strictly necessary, since the whole
directory will be deleted
2013-10-23 11:03:12 -07:00
Paul Ivanov
49770da5ea --no-browser flag to js tests notebook server 2013-10-23 11:03:12 -07:00
Paul Ivanov
5f4c695aab start and use notebook server for js test suite 2013-10-23 11:03:12 -07:00
Paul Ivanov
aaae8fd200 JSController working, iptest js runs casperjs 2013-10-23 11:03:12 -07:00
Paul Ivanov
66972d69bf added javascript section with casperjs requirement 2013-10-23 11:03:11 -07:00
Paul Ivanov
8338f9ae90 simplify prepare_controllers logic 2013-10-23 11:03:11 -07:00
Paul Ivanov
641fdc77a7 include the # of active kernels in server info 2013-10-23 11:03:11 -07:00
Paul Ivanov
031811225e consistently get the first cell 2013-10-23 11:03:11 -07:00
Paul Ivanov
b75cd967d7 less convoluted way of grabbing output 2013-10-23 11:03:11 -07:00
Paul Ivanov
6d7758271e make casperjs test suite pass again 2013-10-23 11:03:11 -07:00
Paul Ivanov
928e846ea8 jstest moved to new place, closes #3125 2013-10-23 11:03:11 -07:00
David Wyde
9f4e9345a3 Add CasperJS tests for merge_cell_above() and merge_cell_below(). 2013-10-23 11:03:11 -07:00
David Wyde
dead20b1bd Use existing IPython method to kill kernels. 2013-10-23 11:03:11 -07:00
David Wyde
b566c71dfd Add tests for Markdown toolbar and menubar entries. 2013-10-23 11:03:11 -07:00