diff --git a/IPython/html/tests/casperjs/test_cases/wigets_container.js b/IPython/html/tests/casperjs/test_cases/wigets_container.js new file mode 100644 index 0000000..018a166 --- /dev/null +++ b/IPython/html/tests/casperjs/test_cases/wigets_container.js @@ -0,0 +1,80 @@ +// Test container 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 container_index = this.append_cell( + 'container = widgets.ContainerWidget()\n' + + 'button = widgets.ButtonWidget()\n'+ + 'container.children = [button]\n'+ + 'display(container)\n'+ + 'container.add_class("my-test-class")\n'+ + 'print("Success")\n'); + this.execute_cell_then(container_index, function(index){ + + this.test.assert(this.get_output_cell(index).text == 'Success\n', + 'Create container 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-container'), + 'Widget container exists.'); + + this.test.assert(this.cell_element_exists(index, + '.widget-area .widget-subarea .my-test-class'), + 'add_class works.'); + + this.test.assert(this.cell_element_exists(index, + '.widget-area .widget-subarea .my-test-class button'), + 'Container parent/child relationship works.'); + }); + + index = this.append_cell( + 'container.set_css("float", "right")\n'+ + 'print("Success")\n'); + this.execute_cell_then(index, function(index){ + + this.test.assert(this.get_output_cell(index).text == 'Success\n', + 'Set container class CSS cell executed with correct output.'); + + this.test.assert(this.cell_element_function(container_index, + '.widget-area .widget-subarea .my-test-class', 'css', ['float'])=='right', + 'set_css works.'); + }); + + index = this.append_cell( + 'container.remove_class("my-test-class")\n'+ + 'print("Success")\n'); + this.execute_cell_then(index, function(index){ + + this.test.assert(this.get_output_cell(index).text == 'Success\n', + 'Remove container class cell executed with correct output.'); + + this.test.assert(! this.cell_element_exists(container_index, + '.widget-area .widget-subarea .my-test-class'), + 'remove_class works.'); + }); + + index = this.append_cell( + 'display(button)\n'+ + 'print("Success")\n'); + this.execute_cell_then(index, function(index){ + + this.test.assert(this.get_output_cell(index).text == 'Success\n', + 'Display container child executed with correct output.'); + + this.test.assert(! this.cell_element_exists(index, + '.widget-area .widget-subarea .widget-container'), + 'Parent container not displayed.'); + + this.test.assert(this.cell_element_exists(index, + '.widget-area .widget-subarea button'), + 'Child displayed.'); + }); +}); \ No newline at end of file