Commit Graph

2537 Commits

Author SHA1 Message Date
Brian E. Granger
8cabefa32d Delete cell only if you press "d" twice in 1 second. 2014-01-07 14:42:37 -08:00
Brian E. Granger
06aa0d540d Using a more specific approach for managing CM focus.
I used to try and enter command mode when a cell looses focus. The
problem with that is that focusing an output area would remain in
edit mode.

Now, I bind this logic to the code mirror blur event, so that
focusing the output area enters command mode.
2014-01-07 14:42:37 -08:00
Brian E. Granger
8a8a03a4d3 Fixing delete/undelete logic. 2014-01-07 14:42:36 -08:00
Brian E. Granger
b2f8d17940 Changing a heading cell level should enter edit mode and set dirty 2014-01-07 14:42:36 -08:00
Brian E. Granger
18b2e54a52 Fixing bug in KeyboardManager.enable/disable. 2014-01-07 14:42:36 -08:00
Brian E. Granger
9a3783e2c4 Fixing select when inserting cell using menu. 2014-01-07 14:42:36 -08:00
Brian E. Granger
a2ffedb0ff Carefully manage rendered state in merge cell. 2014-01-07 14:42:36 -08:00
Brian E. Granger
761109e4b7 Add + for merge cell below and carefully manage split cell state. 2014-01-07 14:42:36 -08:00
Brian E. Granger
740b7aa21b Split cell keyboard shortcut wired up. Merge markdown adds 2nd \n. 2014-01-07 14:42:36 -08:00
Brian E. Granger
23b88a9a24 Moving a cell focuses it after the move.
This way if you move a cell a long way, the noteobook div will
scroll with you.
2014-01-07 14:42:35 -08:00
Brian E. Granger
71bc8d5cdd Adding missing enable/disable methods. 2014-01-07 14:42:35 -08:00
Brian E. Granger
b865c98567 Removing KBN null mode and replacing with enable/disable. 2014-01-07 14:42:35 -08:00
Brian E. Granger
0000e688d6 Code comments and minor fixes. 2014-01-07 14:42:35 -08:00
Brian E. Granger
c1166ea98a Lots of updates and changes.
* Cleaning up the code mirror event handlers.
* Adding logic to prevent calling Notebook.command_mode on cell
  focusout.
* Fixing bugs.
2014-01-07 14:42:35 -08:00
Brian E. Granger
caffba142e Adding keyboard manager logic.
This is currently very broken.
2014-01-07 14:42:35 -08:00
Brian E. Granger
c775800714 Removing manual focusing of notebook div. 2014-01-07 14:42:35 -08:00
Brian E. Granger
a37443710b Binding to notebook div not document. 2014-01-07 14:42:34 -08:00
Brian E. Granger
d137535431 Don't bind notebook keyboard events to $(document).
Keyboard events were previously bound to $(document), which
caused problems with our command mode not allowing other
focused elements (dialogs, etc.) to manage their own keyboard
events. We now bind to the notebook element.
2014-01-07 14:42:34 -08:00
Brian E. Granger
40977e545b Semi working version of basic dual mode UX.
As of this point there are lots of things that don't work, but
most of the basic dual mode interactions do work fine.
2014-01-07 14:42:34 -08:00
Brian E. Granger
2a530ff30d More work on the dual mode UX. 2014-01-07 14:42:34 -08:00
Brian E. Granger
54088a0105 Adding new logic to cells. 2014-01-07 14:42:34 -08:00
Brian E. Granger
2181a29be7 Starting work on select/focus logic. 2014-01-07 14:42:33 -08:00
MinRK
a94983e035 add python -m entry points for everything 2014-01-07 12:32:31 -08:00
MinRK
9865c4f02f whitelist alphanumeric characters for cookie_name
should fix #4761
2014-01-06 14:57:34 -08:00
Min RK
96c1af0ce4 Merge pull request #4715 from minrk/tornado-static-url
restore use of tornado static_url in templates
2013-12-31 10:58:09 -08:00
Matthias Bussonnier
880bcfc122 Merge pull request #4658 from stevefox/dev
Bug fix for #4643: Regex object needs to be reset between calls in toolt...
2013-12-29 08:05:18 -08:00
MinRK
668d221bb6 exclude html nbconvert tests if nbconvert is not importable 2013-12-23 12:45:59 -08:00
MinRK
1044fda774 skip nbconvert html tests without pandoc 2013-12-23 12:41:59 -08:00
MinRK
91d3326923 allow notebook to start without nbconvert
catches import / key errors and turns them into proper http errors
2013-12-23 12:39:27 -08:00
MinRK
21632ac564 add error css 2013-12-22 17:58:27 -08:00
MinRK
84df1a5e26 add error page templates 2013-12-22 17:58:15 -08:00
MinRK
f9dc2f7b7e catch pandoc failures in nbconvert handlers 2013-12-22 17:46:53 -08:00
MinRK
b62da23660 render custom HTML for error pages 2013-12-22 17:46:41 -08:00
Thomas Kluyver
1dc80a609e Drop unused traitlet imports 2013-12-21 12:48:15 -08:00
Thomas Kluyver
4e7972bd64 Remove magic for loading templates from module names 2013-12-20 19:07:21 -08:00
Min RK
556627a637 Merge pull request #4656 from takluyver/nbconvert-service
Nbconvert HTTP service
2013-12-20 14:22:29 -08:00
Thomas Kluyver
147f33118e Extract output preprocessor only extracts specified formats 2013-12-19 17:14:24 -08:00
Thomas Kluyver
be6a5d32ea Serve nbconvert output as zip when it has multiple files 2013-12-19 16:07:27 -08:00
Thomas Kluyver
57642b3847 Move notebook URL fragment regexen into IPython.html.base.handlers 2013-12-19 13:01:00 -08:00
Thomas Kluyver
75109fa2f3 Pass config into nbconvert exporters 2013-12-19 12:35:19 -08:00
Min RK
8be6c4b617 Merge pull request #4575 from minrk/encode_paths
make sure to encode URL components for API requests
2013-12-19 09:49:16 -08:00
MinRK
fd0e9e865c don't raise 404 in get_absolute_path
raise in validate_absolute_path, where it belongs
2013-12-18 14:18:09 -08:00
MinRK
15780ad055 restore use of tornado static_url
instead of jinja macro that doesn't write hashes

closes #4714
2013-12-18 14:17:35 -08:00
Steve Fox
9681bdd177 Tabs converted to spaces for #4643 2013-12-17 21:06:09 -06:00
MinRK
a73f00f62a test save_notebook with escaped name 2013-12-16 14:29:36 -08:00
MinRK
da2f38c24e uniformity in ajax error handler arguments
send arguments on failed events
2013-12-16 12:50:51 -08:00
MinRK
5d02c111bb actually remove irunner
and mkdoctests, which was the only user of it
2013-12-16 11:21:46 -08:00
Thomas Kluyver
eb680ddaa6 Fix notebook tests w/ new stream capturing API. 2013-12-13 15:05:58 -08:00
Thomas Kluyver
9da24dda50 Download as always starts downloads in new window/tab
This is a slightly worse user experience if it succeeds, because the new
tab flashes up before closing again, but it will let us display an
informative error page if it fails, without navigating the user away
from the interactive notebook view.
2013-12-13 14:46:51 -08:00
Thomas Kluyver
30e8939a27 Separate listing nbconvert exporters to /api/nbconvert 2013-12-13 14:46:51 -08:00
Thomas Kluyver
f53ad55284 Add GET /nbconvert to list available formats 2013-12-13 14:46:51 -08:00
Thomas Kluyver
47e9aad022 Make output_mimetype accessible from the class.
Traitlets are only accessible by instantiating the class. There's no
clear reason that this needs to be a traitlet, anyway.
2013-12-13 14:46:51 -08:00
Thomas Kluyver
c2644a20be Capture server logs when running notebook tests 2013-12-13 14:46:51 -08:00
Thomas Kluyver
c5d0f1614f Condense raw_mimetype and mime_type traitlets into output_mimetype 2013-12-13 14:46:51 -08:00
Thomas Kluyver
390b13a82c Add option to download as reST 2013-12-13 14:46:51 -08:00
Thomas Kluyver
17c6af1fcf Add MIME types to nbconvert exporters 2013-12-13 14:46:51 -08:00
Thomas Kluyver
a3c2f1b5f9 Add menu entries for getting converted views of a notebook 2013-12-13 14:46:51 -08:00
Thomas Kluyver
a6424052f0 Add tests for nbconvert HTTP service 2013-12-13 14:46:50 -08:00
Thomas Kluyver
7655ce579e Add HTTP handlers for nbconvert 2013-12-13 14:46:50 -08:00
Thomas Kluyver
a0b60a24cd Option to spew subprocess streams during tests
This supersedes PR #4268.

Run the tests with '--subproc-streams show' to show output from
subprocesses (kernels, IPython.parallel components) in the terminal, or
with '--subproc-streams discard' to send it to /dev/null. By default (or
with '--subproc-streams capture') the output is piped, captured and
displayed only when tests fail. But in some situations, a test fails
because of an error which actually occurred earlier, so you have to see
all the output.
2013-12-13 12:11:14 -08:00
Susan Tan
088987adbe Fixed various typos in docstrings. 2013-12-12 23:30:39 -08:00
Paul Ivanov
cc42790cad Merge pull request #4645 from jdfreder/casperjs_utils
additional CasperJs utility functions.
2013-12-11 11:41:28 -08:00
Matthias Bussonnier
ed17c53825 Merge pull request #4646 from ellisonbg/output-js
Fixing various output related things:

JavaScript output no longer requires calling container.show()
Added output_javascript CSS class that has zero height when empty.
JavaScript error messages are properly indented with the prompt area.
2013-12-09 10:13:48 -08:00
Matthias Bussonnier
5a1a969b07 Merge pull request #4654 from ellisonbg/textcell-padding
Fixing left padding of text cells to match that of code cells.
2013-12-07 07:52:45 -08:00
Matthias Bussonnier
4039e246fc Merge pull request #4306 from minrk/raw-cell-metadata
add raw_mimetype metadata to raw cells
2013-12-07 07:48:22 -08:00
Steve Fox
fad1f14142 Bug fix for #4643: Regex object needs to be reset between calls in tooltip.js 2013-12-07 04:00:31 -06:00
Brian E. Granger
32bd409fc1 Fixing various output related things:
This was inspired by PR #4105.

* JavaScript output no longer requires calling container.show()
* Added output_javascript CSS class that has zero height when
  empty.
* JavaScript error messages are properly indented with the prompt
  area.
2013-12-06 23:10:05 -08:00
Brian E. Granger
073a982277 Fixing left padding of text cells to match that of code cells. 2013-12-06 15:21:00 -08:00
Matthias Bussonnier
fd74cc7eee Merge pull request #4576 from ellisonbg/cell-spacing
Tighten up the vertical spacing on cells and make the padding of cells more consistent
2013-12-06 07:59:14 -08:00
MinRK
a31ceefb42 use reST in raw cell toolbar
reduces width
2013-12-05 13:05:14 -08:00
Min RK
a5774b83a2 Merge pull request #4567 from ellisonbg/indent-cell
Adding prompt area to non-CodeCells to indent content.

prompts now appear in the margin of the document.
2013-12-05 12:51:10 -08:00
Brian E. Granger
2734f4cc5b Cleaning up indentation and spacing of less files touched. 2013-12-05 12:30:28 -08:00
Brian E. Granger
3ec22d90fe Removing style to delimit output as per dev meeting. 2013-12-05 12:25:04 -08:00
Brian E. Granger
79a12cf907 Adding prompt area to non-CodeCells to indent content.
This is a reponse to the problem of having really long lines in
Markdown cells, which makes the content difficult to read. Users
want wide code cells, so we don't want to narrow everything. The
solution here is to give a prompt area to the heading/md cells
to narrow their content area slightly. The only problem is that
this makes it more difficult to distinguish between output
and md content that follows that output. The solve this, we are
adding a narrow line between output and following md.
2013-12-05 12:22:10 -08:00
MinRK
7458f12dca tweak raw placeholder 2013-12-05 09:34:30 -08:00
Jonathan Frederic
81af3b1781 Fixed bug where cell was not getting inserted because index is optional. 2013-12-04 22:10:14 +00:00
Jonathan Frederic
c38ee4700d Added new utility functions to the casper.js testing utils. 2013-12-04 22:09:44 +00:00
Min RK
ff8b5215b6 Merge pull request #4641 from takluyver/tests-no-import-wx
Don't check for wx in the test suite.

An interaction between wx and threads was blocking certain Unix signals,
causing an unrelated test to fail for me.

We were only checking for wx to exclude the inputhookwx module from the
test run. It contains no tests anyway, so we may as well just exclude it
in all cases.
2013-12-04 12:47:21 -08:00
Min RK
99c45765c4 Merge pull request #4594 from onceuponatimeforever/2923
Fixed #2923 Move Save Away from Cut in toolbar

replace add above/below arrows with single plus button
2013-12-04 12:44:58 -08:00
Thomas Kluyver
4e6a1c1d69 Don't check for wx in the test suite.
An interaction between wx and threads was blocking certain Unix signals,
causing an unrelated test to fail for me.

We were only checking for wx to exclude the inputhookwx module from the
test run. It contains no tests anyway, so we may as well just exclude it
in all cases.
2013-12-04 11:25:46 -08:00
Thomas Kluyver
627c67ac9d Restore the ability to run tests from a function. 2013-12-03 12:33:32 -08:00
Susan Tan
4b8e563032 Fixed #2923 Move Save Away from Cut in toolbar 2013-11-28 12:14:17 -08:00
Matthias Bussonnier
2a2a5d5a53 Merge pull request #4569 from minrk/persist-celltoolbar
store cell toolbar preset in notebook metadata
2013-11-28 07:06:36 -08:00
Thomas Kluyver
15634aab87 Merge pull request #4581 from takluyver/i4578
Writing unicode to stdout
2013-11-26 14:25:22 -08:00
Thomas Kluyver
7d88552186 Merge pull request #4591 from damianavila/cm_keys
Documenting codemirror shorcuts.
2013-11-26 12:47:41 -08:00
damianavila
012d8b207e Added link to shorcuts in the notebook menu. 2013-11-26 16:16:48 -03:00
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
Thomas Kluyver
6be254fbba Add unicode_std_stream function to write UTF-8 to stdout/stderr 2013-11-22 10:59:10 -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
26797b24ce propagate raw_mimetype to nbconvert 2013-11-20 16:27:20 -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
MinRK
f77adcd222 add raw_format to Exporter classes
sets their values in resources
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
8aaac7b14c Merge pull request #4441 from minrk/jsversion
add `setup.py jsversion`
2013-11-11 02:54:45 -08: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
1c9386b6d6 StreamCapturer should die if main process crashes. 2013-11-06 09:59:51 -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
Thomas Kluyver
28fcac5088 Don't use select() in StreamCapturer
select() on Windows only works with sockets, not regular file
descriptors.
2013-10-29 17:08:34 -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
acd00de9dd Simplify StreamCapturer for subprocess testing
Rather than using a transient pipe for each subprocess started, the
StreamCapturer now makes a single pipe, and subprocesses redirect their
output to it.

So long as this works on Windows (I've done brief testing, and os.pipe()
seems to be functional), this will hopefully make this much more robust.
The recent failures in ShiningPanda on IPython.parallel have been caused
by StreamCapturer.
2013-10-29 12:24:24 -07: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
79c0712752 Catch failures reading data from terminated subprocesses 2013-10-29 09:15:56 -07:00
Thomas Kluyver
d729dfbbe2 Fix passing extra arguments to Python test controllers 2013-10-29 09:15:56 -07:00
Thomas Kluyver
81660c08ce Allow running Python tests on one section of the codebase 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
f65b3a1495 Use StringIO.StringIO on Python 2.
io.StringIO is strict about unicode, StringIO.StringIO isn't.
2013-10-29 09:15:55 -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
Thomas Kluyver
45faf9a949 Merge commit '37dadeb' (most of PR #4391)
Conflicts:
	IPython/testing/iptestcontroller.py
2013-10-23 14:00:14 -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
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
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