'''Test''' from selenium.webdriver.common.keys import Keys from .utils import cmdtrl, shift, validate_dualmode_state def test_dualmode_markdown(notebook): def is_cell_rendered(index): JS = 'return !!IPython.notebook.get_cell(%s).rendered;'%index return notebook.browser.execute_script(JS) a = 'print("a")' index = 1 notebook.append(a) #Markdown rendering / unrendering notebook.focus_cell(index) validate_dualmode_state(notebook, 'command', index) notebook.body.send_keys("m") assert notebook.get_cell_type(index) == 'markdown' assert not is_cell_rendered(index) #cell is not rendered notebook.body.send_keys(Keys.ENTER)#cell is unrendered assert not is_cell_rendered(index) #cell is not rendered validate_dualmode_state(notebook, 'edit', index) cmdtrl(notebook.browser, Keys.ENTER) assert is_cell_rendered(index) #cell is rendered with crtl+enter validate_dualmode_state(notebook, 'command', index) notebook.body.send_keys(Keys.ENTER)#cell is unrendered assert not is_cell_rendered(index) #cell is not rendered notebook.focus_cell(index - 1) assert not is_cell_rendered(index) #Select index-1; cell index is still not rendered validate_dualmode_state(notebook, 'command', index - 1) notebook.focus_cell(index) validate_dualmode_state(notebook, 'command', index) cmdtrl(notebook.browser, Keys.ENTER) assert is_cell_rendered(index)#Cell is rendered notebook.focus_cell(index - 1) validate_dualmode_state(notebook, 'command', index - 1) shift(notebook.browser, Keys.ENTER) validate_dualmode_state(notebook, 'command', index) assert is_cell_rendered(index)#Cell is rendered shift(notebook.browser, Keys.ENTER) validate_dualmode_state(notebook, 'edit', index + 1) assert is_cell_rendered(index)#Cell is rendered