File: test_dualmode_insertcell.py

package info (click to toggle)
jupyter-notebook 6.4.13-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 13,860 kB
  • sloc: javascript: 20,765; python: 15,658; makefile: 255; sh: 160
file content (51 lines) | stat: -rw-r--r-- 1,801 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from selenium.webdriver.common.keys import Keys
from .utils import shift

INITIAL_CELLS = ['print("a")', 'print("b")', 'print("c")']

def test_insert_cell(prefill_notebook):
    notebook = prefill_notebook(INITIAL_CELLS)

    notebook.to_command_mode()
    notebook.focus_cell(2)
    notebook.convert_cell_type(2, "markdown")
    
    # insert code cell above
    notebook.current_cell.send_keys("a")
    assert notebook.get_cell_contents(2) == ""
    assert notebook.get_cell_type(2) == "code"
    assert len(notebook.cells) == 4
    
    # insert code cell below
    notebook.current_cell.send_keys("b")
    assert notebook.get_cell_contents(2) == ""
    assert notebook.get_cell_contents(3) == ""
    assert notebook.get_cell_type(3) == "code"
    assert len(notebook.cells) == 5

    notebook.edit_cell(index=1, content="cell1")
    notebook.focus_cell(1)
    notebook.current_cell.send_keys("a")
    assert notebook.get_cell_contents(1) == ""
    assert notebook.get_cell_contents(2) == "cell1"

    notebook.edit_cell(index=1, content='cell1')
    notebook.edit_cell(index=2, content='cell2')
    notebook.edit_cell(index=3, content='cell3')
    notebook.focus_cell(2)
    notebook.current_cell.send_keys("b")
    assert notebook.get_cell_contents(1) == "cell1"
    assert notebook.get_cell_contents(2) == "cell2"
    assert notebook.get_cell_contents(3) == ""
    assert notebook.get_cell_contents(4) == "cell3"

    # insert above multiple selected cells
    notebook.focus_cell(1)
    shift(notebook.browser, Keys.DOWN)
    notebook.current_cell.send_keys('a')
    
    # insert below multiple selected cells
    notebook.focus_cell(2)
    shift(notebook.browser, Keys.DOWN)
    notebook.current_cell.send_keys('b')
    assert notebook.get_cells_contents()[1:5] == ["", "cell1", "cell2", ""]