widget_bool.js
90 lines
| 3.8 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r14464 | // Test widget bool class | |
casper.notebook_test(function () { | |||
Jonathan Frederic
|
r18910 | // Create a checkbox and togglebutton. | |
Jonathan Frederic
|
r14464 | var bool_index = this.append_cell( | |
Jonathan Frederic
|
r18909 | 'from IPython.html import widgets\n' + | |
'from IPython.display import display, clear_output\n' + | |||
Jonathan Frederic
|
r17598 | 'bool_widgets = [widgets.Checkbox(description="Title", value=True),\n' + | |
' widgets.ToggleButton(description="Title", value=True)]\n' + | |||
Jonathan Frederic
|
r14583 | 'display(bool_widgets[0])\n' + | |
'display(bool_widgets[1])\n' + | |||
Jonathan Frederic
|
r14464 | 'print("Success")'); | |
this.execute_cell_then(bool_index, function(index){ | |||
MinRK
|
r14797 | this.test.assertEquals(this.get_output_cell(index).text, 'Success\n', | |
Jonathan Frederic
|
r14464 | 'Create bool widget cell executed with correct output.'); | |
Jonathan Frederic
|
r18909 | }); | |
Jonathan Frederic
|
r18910 | // Wait for the widgets to actually display. | |
var widget_checkbox_selector = '.widget-area .widget-subarea .widget-hbox input'; | |||
var widget_togglebutton_selector = '.widget-area .widget-subarea button'; | |||
this.wait_for_element(bool_index, widget_checkbox_selector); | |||
this.wait_for_element(bool_index, widget_togglebutton_selector); | |||
Jonathan Frederic
|
r14464 | ||
Jonathan Frederic
|
r18910 | // Continue the tests. | |
Jonathan Frederic
|
r18909 | this.then(function() { | |
this.test.assert(this.cell_element_exists(bool_index, | |||
Jonathan Frederic
|
r14464 | '.widget-area .widget-subarea'), | |
'Widget subarea exists.'); | |||
Jonathan Frederic
|
r18909 | this.test.assert(this.cell_element_exists(bool_index, | |
Jonathan Frederic
|
r18910 | widget_checkbox_selector), | |
Jonathan Frederic
|
r14464 | 'Checkbox exists.'); | |
Jonathan Frederic
|
r18909 | this.test.assert(this.cell_element_function(bool_index, | |
Jonathan Frederic
|
r18910 | widget_checkbox_selector, 'prop', ['checked']), | |
Jonathan Frederic
|
r14464 | 'Checkbox is checked.'); | |
Jonathan Frederic
|
r18909 | this.test.assert(this.cell_element_exists(bool_index, | |
Jonathan Frederic
|
r17929 | '.widget-area .widget-subarea .widget-hbox .widget-label'), | |
Jonathan Frederic
|
r14464 | 'Checkbox label exists.'); | |
Jonathan Frederic
|
r18909 | this.test.assert(this.cell_element_function(bool_index, | |
Jonathan Frederic
|
r17929 | '.widget-area .widget-subarea .widget-hbox .widget-label', 'html')=="Title", | |
Jonathan Frederic
|
r14464 | 'Checkbox labeled correctly.'); | |
Jonathan Frederic
|
r18909 | this.test.assert(this.cell_element_exists(bool_index, | |
Jonathan Frederic
|
r18910 | widget_togglebutton_selector), | |
Jonathan Frederic
|
r14464 | 'Toggle button exists.'); | |
Jonathan Frederic
|
r18909 | this.test.assert(this.cell_element_function(bool_index, | |
Jonathan Frederic
|
r18910 | widget_togglebutton_selector, 'html')=="Title", | |
Jonathan Frederic
|
r14464 | 'Toggle button labeled correctly.'); | |
Jonathan Frederic
|
r18909 | this.test.assert(this.cell_element_function(bool_index, | |
Jonathan Frederic
|
r18910 | widget_togglebutton_selector, 'hasClass', ['active']), | |
Jonathan Frederic
|
r14464 | 'Toggle button is toggled.'); | |
}); | |||
Jonathan Frederic
|
r18910 | // Try changing the state of the widgets programatically. | |
Jonathan Frederic
|
r14464 | index = this.append_cell( | |
Jonathan Frederic
|
r14583 | 'bool_widgets[0].value = False\n' + | |
Jonathan Frederic
|
r14595 | 'bool_widgets[1].value = False\n' + | |
Jonathan Frederic
|
r14464 | 'print("Success")'); | |
this.execute_cell_then(index, function(index){ | |||
MinRK
|
r14797 | this.test.assertEquals(this.get_output_cell(index).text, 'Success\n', | |
Jonathan Frederic
|
r14464 | 'Change bool widget value cell executed with correct output.'); | |
this.test.assert(! this.cell_element_function(bool_index, | |||
Jonathan Frederic
|
r18910 | widget_checkbox_selector, 'prop', ['checked']), | |
Jonathan Frederic
|
r14464 | 'Checkbox is not checked. (1)'); | |
this.test.assert(! this.cell_element_function(bool_index, | |||
Jonathan Frederic
|
r18910 | widget_togglebutton_selector, 'hasClass', ['active']), | |
Jonathan Frederic
|
r14464 | 'Toggle button is not toggled. (1)'); | |
// Try toggling the bool by clicking on the checkbox. | |||
Jonathan Frederic
|
r18910 | this.cell_element_function(bool_index, widget_checkbox_selector, 'click'); | |
Jonathan Frederic
|
r14464 | ||
Jonathan Frederic
|
r14595 | this.test.assert(this.cell_element_function(bool_index, | |
Jonathan Frederic
|
r18910 | widget_checkbox_selector, 'prop', ['checked']), | |
Jonathan Frederic
|
r14595 | 'Checkbox is checked. (2)'); | |
Jonathan Frederic
|
r14464 | ||
Jonathan Frederic
|
r14595 | // Try toggling the bool by clicking on the toggle button. | |
Jonathan Frederic
|
r18910 | this.cell_element_function(bool_index, widget_togglebutton_selector, 'click'); | |
Jonathan Frederic
|
r14595 | ||
this.test.assert(this.cell_element_function(bool_index, | |||
Jonathan Frederic
|
r18910 | widget_togglebutton_selector, 'hasClass', ['active']), | |
Jonathan Frederic
|
r14595 | 'Toggle button is toggled. (3)'); | |
Jonathan Frederic
|
r14464 | ||
}); | |||
}); |