Commit Graph

658 Commits

Author SHA1 Message Date
MinRK
b82b4997e7 test that rename fails with 409 if it would clobber
(test already passes, but it should still be tested)

closes #4600
2013-11-25 23:20:23 -08:00
Brian E. Granger
57a9457f78 More tabs to spaces on less files. 2013-11-22 14:25:57 -08:00
Brian E. Granger
6093987a8b Tabs to spaces in variables.less. 2013-11-22 14:01:35 -08:00
MinRK
3ad0072c9e make sure to encode URL components for API requests
notebook names can have spaces, hashes, other special characters.
2013-11-22 11:21:01 -08:00
Brian E. Granger
5b75f1a27d Adjusting padding of output subareas and adding @code_padding. 2013-11-21 16:38:38 -08:00
MinRK
1869e1a1a3 add utils.url_join_encode
like url_path_join, but escapes url components
2013-11-21 15:05:06 -08:00
Brian E. Granger
010becd987 Making the cell margin 0 all around.
Also moves some css/less code to the outputarea.less.
2013-11-20 17:31:49 -08:00
MinRK
54ccc1dbe4 store cell toolbar preset in notebook metadata
allows resume on load
2013-11-20 16:45:12 -08:00
MinRK
c27710842d fix Python mime-type 2013-11-20 16:27:02 -08:00
MinRK
9fc9580256 set cell_type properly first-class in the Cell object
- in toJSON
- don't clobber existing value in Cell constructor
2013-11-20 16:17:12 -08:00
MinRK
f420b48aae add dialog to raw cell toolbar 2013-11-20 16:16:16 -08:00
Min RK
85dc6867f9 Merge pull request #4566 from ellisonbg/cell-type-fix
Fixing cell_type in CodeCell constructor.
2013-11-20 15:27:35 -08:00
MinRK
d087a213b3 add raw cell toolbar preset 2013-11-20 14:50:12 -08:00
MinRK
0fb011ef68 allow cell toolbar presets to apply only to specific cell types 2013-11-20 14:50:12 -08:00
MinRK
3a17777c50 clarify name of 'default' cell toolbar 2013-11-20 14:50:11 -08:00
MinRK
dd3a1866ff give Raw Cells a placeholder
and make sure cell_type is defined *before* calling TextCell.apply
2013-11-20 14:50:11 -08:00
MinRK
549b343a88 tweak global hide/show
make hierarchical rather than either/or.  Also, don't use the same class name for the outer and inner css classes.
2013-11-20 14:50:06 -08:00
MinRK
66fe540412 rename Raw Text to Raw NBConvert in menu 2013-11-20 14:47:50 -08:00
Brian E. Granger
749e9d9ac4 Fixing cell_type in CodeCell constructor.
This was causing the cell_type to be null for CodeCells, which
broke the cell type dropdown in the toolbar.
2013-11-20 13:40:03 -08:00
Thomas Kluyver
79c27df217 Specify encoding in remainining instances of io.open 2013-11-20 10:50:04 -08:00
Matthias Bussonnier
06e23487cc Merge pull request #4546 from minrk/not-in-dir-warning
fix warning condition on notebook startup
2013-11-18 10:37:03 -08:00
MinRK
24e5153246 fix warning condition on notebook startup
should have only warned if file_to_run is defined *and* it's outside the notebook_dir,
but warning was shown even if it was not specified.
2013-11-15 10:35:34 -08:00
Thomas Kluyver
3fb55970be Miscellaneous docs fixes 2013-11-14 11:21:32 -08:00
Matthias Bussonnier
35475a8841 add semi colon 2013-11-13 19:29:47 +01:00
Matthias BUSSONNIER
73820fb038 remove opts not to conflict with brian
do not add the option not to select each cell in a row when buildogn the
notebook at load time.
2013-11-13 14:52:50 +01:00
Matthias BUSSONNIER
d6afb79da0 fix wrong default 2013-11-13 14:52:50 +01:00
Matthias BUSSONNIER
33dd73eea4 some optimisation and code cleaning
optimisation are not obvious, but order and time of attribute creation
in javascript have impact for VMs apparently (Google IO talk on V8)
2013-11-13 14:52:50 +01:00
Matthias BUSSONNIER
048ccde41b get rid of most slowdown at notebook loading.
1) Do not setOption('mode',new_mode) on CM if new and old mode are the
   same. It triggert **a lot** of calculation of bounding box in the
   end.

2) Do **not** select cell when loading the notebook it triggers
   **a lot** of CM even that check visible things and so on and so
   forth. So add a option to add_cell_at_index not to select it

3) jQuery $.attr has some magics, but has a slight overhead on
   real native ELEM.setAttribute DOM method. Seem slight improvement
   when loads of PNGs on one page
2013-11-13 14:52:50 +01:00
Matthias BUSSONNIER
5db9624d44 prompt '*' strore fix + tab remove tooltip
tab was not cancelling tooltip bringing to cases where you could have
tooltip andcompleter open.

Do not store '*' when serializing cells.
2013-11-13 14:49:03 +01:00
MinRK
157f501c60 use request.text for Python 3 (content is always bytes) 2013-11-12 15:40:05 -08:00
MinRK
a657ddd78f test 'files/' redirects
1.0 notebooks with links should work in 2.0
2013-11-12 15:09:05 -08:00
MinRK
36f4164053 support 1.0-style files/ relative URLs
via redirect

only redirect on would-be 404
2013-11-12 14:56:42 -08:00
Paul Ivanov
73fd15ae36 Merge pull request #4250 from pablooliveira/wrap-svg-in-iframes
outputarea.js: Wrap inline SVGs inside an iframe
2013-11-11 15:00:34 -08:00
Min RK
6368dbb6f3 Merge pull request #4444 from Carreau/css-cleaning
CSS cleaning

- vbox / hbox via classes
- adds notebook/style_noapp.less, which excludes body/toolbar/menubar stuff not necessary in embedded contexts
2013-11-11 12:00:46 -08:00
Matthias BUSSONNIER
74683da8ad use baseBorderRadius instead of corner_radius
as it already exist in Bootstrap
2013-11-11 15:58:56 +01:00
Matthias BUSSONNIER
d92e8af627 rename app.less to style_noapp.less 2013-11-11 11:38:37 +01:00
MinRK
35fcbbd96f fix js test print statement on python 3 2013-11-07 16:34:14 -08:00
Paul Ivanov
a54e50514d added test of IPython.version to js test suite 2013-11-07 16:34:14 -08:00
MinRK
71d6a80629 add setup.py jsversion
for writing the IPython version to `IPython.version` in javascript.

supersedes #4357
2013-11-07 16:34:13 -08:00
Thomas Kluyver
b829043a60 Add test for saving notebook with .py script 2013-11-05 17:43:36 -08:00
Thomas Kluyver
8ed3a725f3 Pass nbformat object to write call to save .py script
Closes gh-4495
2013-11-05 17:35:36 -08:00
Matthias BUSSONNIER
c125e1c7a8 min-width instead of width for prompt
mainly helpfull for nbviewer responsive css to have the prompt
above the code cells, and have the correct width.
2013-11-05 11:34:40 +01:00
Min RK
97ea238485 Merge pull request #4476 from jdfreder/rm_js_blankspace_onload
Fix: Remove space added by display(JavaScript) on page reload
2013-11-04 11:31:22 -08:00
Min RK
a1afcd92b4 Merge pull request #4398 from Carreau/no-tooltip-on-tab
[Notebook] Deactivate tooltip on tab by default.
2013-11-04 11:29:38 -08:00
Thomas Kluyver
4de9ef1f8b Merge pull request #4479 from ivanov/js-timeout
yet another JS race condition fix
2013-11-04 10:16:21 -08:00
Matthias BUSSONNIER
8a01fa3388 inverse style.less and app.less 2013-11-02 20:30:19 +01:00
Paul Ivanov
2ab51dc1a5 yet another JS race condition fix
this should greatly reduce the number of timeouts seen in the JS tests
2013-11-01 19:10:45 -07:00
Paul Ivanov
6eb3170963 Merge pull request #4410 from ivanov/close-new-tabs-chrome
make close-and-halt work on new tabs in Chrome
2013-11-01 12:53:38 -07:00
Jonathan Frederic
1a5e26dd5a Removed left over log statements 2013-11-01 18:45:02 +00:00
Jonathan Frederic
96f5cc942b Fix blank space added by included Javascript on page refresh or notebook load 2013-11-01 18:42:37 +00:00
Thomas Kluyver
557fb3f4ae Python 3 compatibility for os.getcwdu() 2013-10-31 12:37:45 -07:00
Paul Ivanov
c4b9e69793 Merge pull request #4451 from ivanov/shutdown-js
fix: allow JS test to run after shutdown test
2013-10-31 10:49:45 -07:00
Pablo de Oliveira
8253998833 Set both height and width using css 2013-10-30 00:05:33 +01:00
Pablo de Oliveira
fcbd398ad2 Preserve layout for large isolated objects 2013-10-29 23:57:31 +01:00
Paul Ivanov
4901f5fc16 don't delete casper instance on shutdown test
a lunch conversation with @minrk and @takluyver lead me to just make a
popup and have it be closed, instead of having to reorder the test suite
so that this test always runs last. Now it doesn't matter what order the
test suite runs in, and gives us a pattern for testing window closing
behavior should we need it elsewhere.
2013-10-29 14:58:28 -07:00
Pablo de Oliveira
b1eba452c9 Fix typo. 2013-10-29 22:19:43 +01:00
Pablo de Oliveira
bbfcbf40eb Add casperjs test for isolated SVGs 2013-10-29 22:19:43 +01:00
Pablo de Oliveira
c72d4fead0 Notebook isolated content: fix firefox extra-space issue
In Firefox, if the iframe initial height is set to 0, the reported
scrollHeight is too large. Workaround: set the initial height to 1.
2013-10-29 22:19:43 +01:00
Pablo de Oliveira
a8e39d6acc Support isolated metadata tag for any content
Any content whose metadata contains an `isolated` tag will be isolated
from the rest of the document.

The current implementation wraps isolated content into an iframe.
2013-10-29 22:19:43 +01:00
Pablo de Oliveira
86dce97804 SVG: scoped is passed as metadata
Instead of using a svg class to pass scope information
use notebook metadata.

Suggested by Matthias Bussonnier
2013-10-29 22:19:43 +01:00
Pablo de Oliveira
4c49abd2ae Fix style and typo 2013-10-29 22:19:43 +01:00
Pablo de Oliveira
3e0a69ba68 SVG scoping must be explicitly enabled by the user
SVG scoping is disabled by default, to enable it the user
must call the core.display.SVG constructor with the scoped=True
keyword parameter.
2013-10-29 22:19:43 +01:00
Pablo de Oliveira
f152996f11 outputarea.js: Wrap inline SVGs inside an iframe
When multiple inline SVGs are included in a single document,
they share the same parse tree. Therefore, style collisions and
use id collisions can occur and upset the rendering.

This patch wraps each SVG inside an individual iframe, ensuring
that SVG's declarations do not collide.

(The SVG representation is kept as XML and not converted to a binary
format, so I do not think this approach precludes the use of d3.js)

Tested on:
* Chrome Version 29.0.1547.57 Debian 7.1 (217859)
* Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130806 Firefox/17.0 Iceweasel/17.0.8

Closes #1866
2013-10-29 22:19:43 +01:00
Thomas Kluyver
93ee2d7173 Make sessions REST API test more robust.
Was seeing failures on Windows because it failed to delete the folder.
2013-10-29 09:15:57 -07:00
Thomas Kluyver
0e9a7c0874 Remove unused imports in IPython.html.notebook.handlers 2013-10-29 09:15:57 -07:00
Thomas Kluyver
9fd838d624 Fix imports in IPython.html.utils 2013-10-29 09:15:56 -07:00
Thomas Kluyver
bce32ec03b Fixes for notebook session manager 2013-10-29 09:15:56 -07:00
Thomas Kluyver
51040fb768 Update imports for Python 3
2to3 fixer imports (+ manual changes)
2013-10-29 09:15:54 -07:00
Thomas Kluyver
4a14ed7e22 Replace references to unicode and basestring 2013-10-29 09:15:54 -07:00
Thomas Kluyver
d4532983f4 Convert print statements to print function calls
libmodernize.fixes.fix_print
2013-10-29 09:14:15 -07:00
Paul Ivanov
4ffe489e72 Merge pull request #4415 from ivanov/more-tooltips
More tooltips in the Notebook menu
2013-10-28 13:51:39 -07:00
Paul Ivanov
e608c6d07a fix: allow JS test to run after shutdown test
shutdown notebook test closes casper browser, here we re-instatiate it
after the test
2013-10-28 13:46:55 -07:00
Min RK
d797f8950f Merge pull request #4450 from ivanov/remove-old-tornado-monkeypatch
remove monkey patch for older versions of tornado
2013-10-28 11:39:47 -07:00
Paul Ivanov
f04eca3ddd remove monkey patch for older versions of tornado
Since we now depend on Tornado >= 3.1, this code path is no longer
necessary
2013-10-28 11:07:24 -07:00
Paul Ivanov
1123af8528 make close-and-halt work on new tabs in Chrome
this is not possible in Firefox, as new tabs/windows which were *not*
opened via a script ( window.open call ) are not allowed to be closed
via window.close and will yield a message like

--
[11:50:59.691] Scripts may not close windows that were not opened by script. @ http://localhost:8888/static/notebook/js/menubar.js:105
2013-10-28 11:00:42 -07:00
Min RK
4e8bc066e9 Merge pull request #4435 from minrk/tornado-tweaks
raise 404 on not found static file
2013-10-27 13:12:08 -07:00
Matthias BUSSONNIER
f7eff4cdb4 recompile css 2013-10-27 16:35:06 +01:00
Matthias BUSSONNIER
88cb5073d5 split notebook style in 2 files,
app specific/not app specific
2013-10-27 16:34:28 +01:00
Matthias BUSSONNIER
d2a41e902f remove more hard coded layout 2013-10-27 16:11:44 +01:00
Min RK
57fa14a2fa Merge pull request #4442 from Carreau/fix-oir
finish object_info_request/object_info rename in tooltip
2013-10-26 11:04:22 -07:00
Matthias BUSSONNIER
a74c36b62a remove compatibility layer 2013-10-26 19:59:49 +02:00
Min RK
8b58e38990 Merge pull request #4436 from minrk/require-ext
allow `require("nbextensions/extname")` to load from IPYTHONDIR/nbextensions
2013-10-26 10:41:00 -07:00
Matthias BUSSONNIER
bdb1c94137 fix and add shim for change introduce by #4195
comm merging renamed object_info_request to object_info
2013-10-26 14:04:55 +02:00
Min RK
4f3f1f1ebb Merge pull request #4437 from minrk/etag
don't compute etags in static file handlers
2013-10-25 16:54:15 -07:00
Min RK
c3e6e625a7 Merge pull request #4427 from minrk/checkpoint-on-first-save
notebooks should always have one checkpoint

closes #4396
2013-10-25 13:36:59 -07:00
Matthias Bussonnier
5bd89b7376 Merge pull request #4425 from Carreau/fix-js-python
Fix impossibility to upload notebooks.
2013-10-25 11:41:42 -07:00
Matthias BUSSONNIER
79f1edc5e9 fix notebook upload
pythonnism + PUT instead of POST
2013-10-25 20:23:54 +02:00
MinRK
f8ddcffacb allow require("nbextensions/extname") to load from IPYTHONDIR/nbextensions 2013-10-24 15:32:28 -07:00
MinRK
7ea4db6c48 don't compute etags in static file handlers
etags skip cache timing, which we probably don't want.  If-Modified-Since is good enough for us.
2013-10-24 14:25:15 -07:00
Min RK
0aaafce4af Merge pull request #4195 from minrk/widget-msg
IPEP 21:  widget messages
2013-10-24 12:19:41 -07:00
MinRK
ff744e25cd raise 404 on not found static file
master gives 403 due to empty string being outside of root
2013-10-24 11:14:50 -07:00
Thomas Kluyver
daf15735bd Merge pull request #4428 from minrk/tornado-3.1
bump minimum tornado version to 3.1.0
2013-10-23 14:36:25 -07:00
MinRK
6fa13ebb98 bump minimum tornado version to 3.1.0
The no-hidden behavior of the files handler
already requires this, but instead of raising, it just doesn't hide hidden files.

Bumping the minimum version also allows much cleaner static file handler subclasses.
2013-10-23 14:04:35 -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
MinRK
79a7b1e421 fix tornado log propagation
in the notebook
2013-10-23 12:01:45 -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
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
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
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
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
5f4c695aab start and use notebook server for js test suite 2013-10-23 11:03:12 -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
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
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