##// END OF EJS Templates
Everyone uses one model
Everyone uses one model

File last commit:

r14583:ecbe638b
r14591:a76124e0
Show More
widgets_bool.js
97 lines | 4.2 KiB | application/javascript | JavascriptLexer
Jonathan Frederic
Organized tests.
r14464 // Test widget bool class
casper.notebook_test(function () {
index = this.append_cell(
'from IPython.html import widgets\n' +
'from IPython.display import display, clear_output\n' +
'print("Success")');
this.execute_cell_then(index);
var bool_index = this.append_cell(
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 'bool_widgets = [widgets.BoolWidget(description="Title", value=True) for i in range(2)]\n' +
'display(bool_widgets[0])\n' +
'bool_widgets[1].view_name = "ToggleButtonView"\n' +
'display(bool_widgets[1])\n' +
'for widget in bool_widgets:\n' +
' def handle_change(name,old,new):\n' +
' for other_widget in bool_widgets:\n' +
' other_widget.value = new\n' +
' widget.on_trait_change(handle_change, "value")\n' +
Jonathan Frederic
Organized tests.
r14464 'print("Success")');
this.execute_cell_then(bool_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n',
'Create bool widget cell executed with correct output.');
this.test.assert(this.cell_element_exists(index,
'.widget-area .widget-subarea'),
'Widget subarea exists.');
this.test.assert(this.cell_element_exists(index,
'.widget-area .widget-subarea .widget-hbox-single input'),
'Checkbox exists.');
this.test.assert(this.cell_element_function(index,
'.widget-area .widget-subarea .widget-hbox-single input', 'prop', ['checked']),
'Checkbox is checked.');
this.test.assert(this.cell_element_exists(index,
'.widget-area .widget-subarea .widget-hbox-single .widget-hlabel'),
'Checkbox label exists.');
this.test.assert(this.cell_element_function(index,
'.widget-area .widget-subarea .widget-hbox-single .widget-hlabel', 'html')=="Title",
'Checkbox labeled correctly.');
this.test.assert(this.cell_element_exists(index,
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 '.widget-area .widget-subarea button'),
Jonathan Frederic
Organized tests.
r14464 'Toggle button exists.');
this.test.assert(this.cell_element_function(index,
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 '.widget-area .widget-subarea button', 'html')=="Title",
Jonathan Frederic
Organized tests.
r14464 'Toggle button labeled correctly.');
this.test.assert(this.cell_element_function(index,
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 '.widget-area .widget-subarea button', 'hasClass', ['active']),
Jonathan Frederic
Organized tests.
r14464 'Toggle button is toggled.');
});
index = this.append_cell(
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 'bool_widgets[0].value = False\n' +
Jonathan Frederic
Organized tests.
r14464 'print("Success")');
this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n',
'Change bool widget value cell executed with correct output.');
this.test.assert(! this.cell_element_function(bool_index,
'.widget-area .widget-subarea .widget-hbox-single input', 'prop', ['checked']),
'Checkbox is not checked. (1)');
this.test.assert(! this.cell_element_function(bool_index,
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 '.widget-area .widget-subarea button', 'hasClass', ['active']),
Jonathan Frederic
Organized tests.
r14464 'Toggle button is not toggled. (1)');
// Try toggling the bool by clicking on the toggle button.
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 this.cell_element_function(bool_index, '.widget-area .widget-subarea button', 'click');
Jonathan Frederic
Organized tests.
r14464
this.test.assert(this.cell_element_function(bool_index,
'.widget-area .widget-subarea .widget-hbox-single input', 'prop', ['checked']),
'Checkbox is checked. (2)');
this.test.assert(this.cell_element_function(bool_index,
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 '.widget-area .widget-subarea button', 'hasClass', ['active']),
Jonathan Frederic
Organized tests.
r14464 'Toggle button is toggled. (2)');
// Try toggling the bool by clicking on the checkbox.
this.cell_element_function(bool_index, '.widget-area .widget-subarea .widget-hbox-single input', 'click');
this.test.assert(! this.cell_element_function(bool_index,
'.widget-area .widget-subarea .widget-hbox-single input', 'prop', ['checked']),
'Checkbox is not checked. (3)');
this.test.assert(! this.cell_element_function(bool_index,
Jonathan Frederic
Many checks off the todo list, test fixes
r14583 '.widget-area .widget-subarea button', 'hasClass', ['active']),
Jonathan Frederic
Organized tests.
r14464 'Toggle button is not toggled. (3)');
});
});