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
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
David Wyde
95873c65da
Wrap CasperJS tests in a helper function to reduce boilerplate.
2013-10-23 11:03:11 -07:00
David Wyde
fce51827e0
Use keycode constants from jQuery UI and improve message in test.
2013-10-23 11:03:11 -07:00
David Wyde
6e7cd60cb5
Add a test to demonstrate errors when up/down arrow keys are
...
pressed in an empty notebook.
2013-10-23 11:03:11 -07:00
David Wyde
7f9aecc2d9
Add a README for CasperJS tests.
2013-10-23 11:03:11 -07:00
David Wyde
f5000f416e
Add CasperJS utility functions, and tests for code and
...
Markdown cell execution.
Code cell test is based on https://gist.github.com/ellisonbg/3329929 .
2013-10-23 11:03:11 -07:00
Thomas Kluyver
7570c8b00f
Merge pull request #4426 from minrk/kernel-cwd
...
set kernel cwd to notebook's directory
2013-10-23 10:40:30 -07:00
MinRK
6bc2c65c83
notebooks should always have one checkpoint
...
closes #4396
2013-10-23 10:37:49 -07:00
MinRK
3a4d719033
fix checkpoint filename
2013-10-23 10:37:08 -07:00
Thomas Kluyver
ab357f190b
Merge pull request #4393 from takluyver/tests-subproc-stream-capture
...
Capture output from subprocs during test, and display on failure
2013-10-23 10:28:16 -07:00
MinRK
922f458d6a
set kernel cwd to notebook's directory
...
closes #4424
2013-10-23 10:15:55 -07:00
Matthias BUSSONNIER
d90429366b
Remove tooltip on tab logic
2013-10-23 15:58:32 +02:00
MinRK
4a3978ec28
don't expose comm_id arg via new_comm
2013-10-22 20:25:04 -07:00
MinRK
b666345633
allow callbacks on status messages
2013-10-22 20:11:38 -07:00
MinRK
34efd17408
catch errors in comm callbacks
2013-10-22 19:45:39 -07:00
MinRK
938dc589dd
Add CommManager.new_comm
...
Javascript-side version for creating and connecting Comms in one call
Without a `get_ipython()`-like global handle,
Comm constructor can't do the same magic as the IPython one.
2013-10-22 19:45:39 -07:00
MinRK
0a89edc641
log exceptions in Comm handlers
2013-10-22 19:45:38 -07:00
MinRK
8bcf95404d
add unregister_target to CommManagers
2013-10-22 19:45:38 -07:00
MinRK
90f67d3bbe
add CodeCell.get_callbacks
...
for reusing default execute callbacks
2013-10-22 19:45:36 -07:00
MinRK
9e198d2bd6
attach comm_manager to kernel
2013-10-22 19:44:46 -07:00
MinRK
5c83cd3e52
move comm.js to kernel service
2013-10-22 19:44:44 -07:00
MinRK
04adce96af
add message metadata to comm and kernel.send_shell_message
2013-10-22 19:43:56 -07:00
MinRK
99680e21bd
move comm.js to base
2013-10-22 19:43:56 -07:00
MinRK
4fdc4bb3fc
get clear_output callback properly
2013-10-22 19:43:56 -07:00
MinRK
76994d2ff8
update callback structure in js commands
2013-10-22 19:43:55 -07:00
MinRK
aa388570d3
jshint on codecell
2013-10-22 19:43:55 -07:00
MinRK
f7e6435256
only pass shell.reply callback to oinfo / complete
...
These should not have side effects, so no need to expose full callback structure.
Also, object_info method shouldn't have `_request` in its name.
2013-10-22 19:43:52 -07:00
MinRK
d99e25f245
refactor js callbacks
...
all callbacks get the whole message
2013-10-22 19:43:01 -07:00
MinRK
9206d1e87f
add utils.always_new
...
wrapper allows passing constructors as callbacks, where `new` is required.
2013-10-22 19:41:06 -07:00
MinRK
111fccc8ab
open is not an event
...
target callback receives comm and open message, not just comm.
2013-10-22 19:40:36 -07:00
MinRK
aa0387a647
s/target/target_name
2013-10-22 19:40:35 -07:00
MinRK
f833b1ca03
hook up output for comm messages
2013-10-22 19:40:35 -07:00
MinRK
3d3c3fd504
COMM: mirror Python callback API in Javascript
2013-10-22 19:40:34 -07:00
MinRK
15819e8535
pass whole message to Comm handlers
2013-10-22 19:40:34 -07:00
MinRK
3665cc241f
rename widget to comm
2013-10-22 19:40:34 -07:00
MinRK
14fcdab73b
make js / Python widgets symmetrical
...
don't enforce creation on Kernel side
also removed weak refs - premature optimization,
we can think about this later.
2013-10-22 19:40:33 -07:00
MinRK
230a2261e8
fix js/Python WidgetManager symmetry
...
remove some log statements
2013-10-22 19:40:33 -07:00
MinRK
6643cffa23
add javascript-side widgets
2013-10-22 19:40:32 -07:00
MinRK
8199909e62
Improvements to kernel.js
...
- dispatch iopub handlers by msg_type
- add Kernel.send_shell_message public API
- use strict (and related fixes)
2013-10-22 19:40:32 -07:00
Min RK
bc0dc279f1
Merge pull request #4303 from ipython/multidir
...
Add multidirectory support for the Notebook.
Major change to URL schemes in the notebook server,
documented in [IPEP 16](https://github.com/ipython/ipython/wiki/IPEP-16%3A-Notebook-multi-directory-dashboard-and-URL-mapping ).
2013-10-22 18:45:30 -07:00
MinRK
ede0297874
tweak stat walk in forbid_hidden
2013-10-22 17:41:53 -07:00
MinRK
40cce4d7e3
s/os.path.sep/os.sep/
2013-10-22 17:36:34 -07:00
MinRK
112a694c5c
py3k bytes, for crying out loud
2013-10-22 17:32:24 -07:00
MinRK
2b54e36ab7
send ignored output to devnull
...
rather than PIPE, since Windows pipes can fill up.
2013-10-22 17:26:39 -07:00
MinRK
dbfea55e8a
stat has no st_flags on Windows (maybe elsewhere?)
2013-10-22 17:16:31 -07:00
MinRK
dfb538d881
Windows testing fixes
2013-10-22 17:16:31 -07:00
MinRK
77c1a10518
update test requirements for IPython.html
2013-10-22 16:29:59 -07:00
MinRK
1f90f4d7bb
test /files/ gives 403 on hidden files
2013-10-22 15:23:46 -07:00
MinRK
2fcc7fe97f
forbid serving hidden files from /files
2013-10-22 15:20:27 -07:00
Thomas Kluyver
bc16465b66
Clean up formatting sys info for test report
2013-10-22 15:17:38 -07:00
MinRK
a45e997176
don't warn when open_browser and not file_to_run
2013-10-22 09:54:28 -07:00
Paul Ivanov
8fb1d7391c
added some tooltips for the File menu
2013-10-21 23:42:03 -07:00
Paul Ivanov
474bd780ce
tooltips for View and Insert menus
2013-10-21 23:36:44 -07:00
Paul Ivanov
0f9a478abd
Kernel and Help menu tooltips
2013-10-21 23:31:27 -07:00
Paul Ivanov
69d06c02d7
add more tooltips for Cell menu
2013-10-21 23:24:48 -07:00
Paul Ivanov
bd22e4ae90
added descriptions which were deleted from JS
2013-10-21 22:40:48 -07:00
Paul Ivanov
b117f59b82
javascript is no place to start adding title tags
2013-10-21 22:34:08 -07:00
MinRK
18022a7db8
don't relay notebook dir to kernel from command-line
2013-10-21 20:34:05 -07:00
Thomas Kluyver
d68658e3a1
Don't show subprocess output if there isn't any
2013-10-21 17:48:13 -07:00
Thomas Kluyver
4bcd7bd44d
Don't try to wait for StreamCapturer that was never started
2013-10-21 17:37:34 -07:00
Paul Ivanov
8b26933af5
Merge pull request #4378 from minrk/split-below
...
split adds new cell above, rather than below
2013-10-21 13:52:35 -07:00
Paul Ivanov
a2d731ff39
fix 'close and halt' in notebook File menu
2013-10-20 20:57:10 -07:00
MinRK
bf58dddf26
single warning message for bad startup notebook
2013-10-20 14:13:38 -07:00
MinRK
24174f31d9
use itertools.count for incrementing notebook filename
2013-10-20 14:09:01 -07:00
MinRK
cc08837111
fix created timestamp in notebook model
2013-10-20 14:08:47 -07:00
MinRK
f894dbe664
test upload of v2 notebooks
2013-10-18 19:30:52 -07:00
MinRK
50665831bd
update copy API in js
2013-10-18 17:26:14 -07:00
MinRK
cf0218e2d1
don't use jsonapi in test_notebook_api
2013-10-18 16:35:52 -07:00
MinRK
66ccce69c6
copy_from in json, not in url param
2013-10-18 16:35:03 -07:00
MinRK
ef0d065712
test nbmanager.copy_notebook
2013-10-18 16:13:54 -07:00
MinRK
c8ce1e7c7a
url_escape redirects
2013-10-18 16:13:54 -07:00
MinRK
aea1bbde6a
s/session_id/id
2013-10-18 16:13:53 -07:00
MinRK
0558ec4ce0
Cells shouldn't know about Sessions
2013-10-18 16:13:53 -07:00
MinRK
7ea311ad64
escape URLs in Location headers
2013-10-18 16:13:53 -07:00
MinRK
99282f9e6b
urllib.quote/unquote must be str on Python 2
2013-10-18 16:13:53 -07:00
MinRK
06d9b99141
update notebook api tests
...
with creation URL changes
also use unicode as the default name in tests,
to increase likelihood of catching unicode bugs.
2013-10-18 16:13:53 -07:00
MinRK
f11caf25e7
update notebook creation handlers
...
- only POST to directories (notebook picks name)
- only PUT to full paths
- PUT and POST should be equivalent aside from
who picks the notebook name.
2013-10-18 16:13:53 -07:00
MinRK
60d12e4209
allow specifying destination in copy_notebook
2013-10-17 19:39:06 -07:00
MinRK
d1a36fe4c0
use 'id' for checkpoint ID key
...
rather than redundant checkpoint.checkpoint_id
2013-10-17 14:55:00 -07:00
MinRK
5a60141bed
use splitext in notebook_list
...
fixes case where notebooks with '.' in name were misrendered
2013-10-17 14:31:20 -07:00
MinRK
11013e648d
add utils.splitext to js
...
mimic Python os.path.splitext
2013-10-17 14:30:15 -07:00
MinRK
5ca1ad666d
add missing cell.session in tooltip.js
2013-10-17 14:09:20 -07:00
MinRK
714afa7b0f
fix initial-file opening in the notebook
2013-10-17 14:09:20 -07:00
MinRK
d739a72638
strip '/' from paths in template-render handlers
2013-10-17 14:09:20 -07:00
Brian E. Granger
36aa39e3b7
Improving tests and setting of Location header.
2013-10-17 14:09:20 -07:00
Brian E. Granger
9c42ca8a72
Fully removing .py file upload.
...
In the future all uploads should just use the contents web service
and we should support any type of file.
2013-10-17 14:09:20 -07:00
Brian E. Granger
51fc769edd
Handle notebook downloads through the /files URL.
2013-10-17 14:09:20 -07:00
Brian E. Granger
59901ce88c
Adding docstring to NotebookHandler.get.
2013-10-17 14:09:19 -07:00
Thomas Kluyver
6017f5d0ef
Specify encoding for loading and saving notebooks.
2013-10-17 14:09:19 -07:00
Thomas Kluyver
05e85588cf
Add some unicode testing for saving notebooks
2013-10-17 14:09:19 -07:00
Thomas Kluyver
cbc141c95c
Fixes for notebook checkpoint APIs
2013-10-17 14:09:19 -07:00
Thomas Kluyver
3f46a05a14
Test notebook checkpoint APIs
2013-10-17 14:09:19 -07:00
MinRK
4a12890d65
disable download-as-pt
...
since it doesn't work. Adds a note about nbconvert needed to bring it back.
2013-10-17 14:09:19 -07:00
Thomas Kluyver
d089f7749f
Use assertEqual, not deprecated assertEquals
2013-10-17 14:09:19 -07:00
Thomas Kluyver
836ad5f388
Add tests for interrupting & restarting kernel
...
These are in an existing test method, as starting and stopping kernels
for individual tests is expensive.
2013-10-17 14:09:19 -07:00
Thomas Kluyver
06fa301908
Refactor tests for kernels REST API
2013-10-17 14:09:18 -07:00
MinRK
821514bd72
cleanup weird 404
2013-10-17 14:09:18 -07:00
MinRK
fc4fb92580
review pass on multidir js
2013-10-17 14:09:18 -07:00
MinRK
e16a5807c7
fixup bad rebase
2013-10-17 14:09:18 -07:00
MinRK
8b9bb04d12
review pass on Sessions API
2013-10-17 14:09:18 -07:00
Thomas Kluyver
b1a0f2e8cc
404 on attempt to list notebooks in nonexistant directory
2013-10-17 14:09:18 -07:00
Thomas Kluyver
18f88d020f
Add failing test for listing nonexistant directory
2013-10-17 14:09:18 -07:00
Thomas Kluyver
99969474e0
Fix notebook manager test
2013-10-17 14:09:17 -07:00
Thomas Kluyver
c18aaefbde
Fix sessionmanager test
2013-10-17 14:09:17 -07:00
Thomas Kluyver
e240f21ea1
Clean up sessions code from static analysis
2013-10-17 14:09:17 -07:00
Thomas Kluyver
693cc97905
Fix some HTTP status codes in sessions API
2013-10-17 14:09:17 -07:00
Thomas Kluyver
b3d2698c11
Fix session API tests
2013-10-17 14:09:17 -07:00
Thomas Kluyver
a02bd3d5e4
Improve Session REST API tests
2013-10-17 14:09:17 -07:00
Thomas Kluyver
a6a7255454
Fix some notebook model tests
2013-10-17 14:09:17 -07:00
MinRK
acb4245035
unicode normalization in test_notebooks_api
2013-10-17 14:09:17 -07:00
Thomas Kluyver
9f4a4ab3f8
Check Location header from renaming notebook
2013-10-17 14:09:16 -07:00
Thomas Kluyver
9144e8e57b
Fix check of notebook path
2013-10-17 14:09:16 -07:00
Thomas Kluyver
eb9a55ed6b
Add test for and fix REST save with rename
2013-10-17 14:09:16 -07:00
Thomas Kluyver
b9310d0e05
Add test for copying notebook through REST API
2013-10-17 14:09:16 -07:00
Thomas Kluyver
7725025d52
Add test for saving notebook via REST API
2013-10-17 14:09:16 -07:00