widgets_int.js
150 lines
| 6.0 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r14464 | // Test widget int 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 int_text_query_2 = '.widget-area .widget-subarea .widget-hbox-single .my-second-int-text'; | |||
var int_index = this.append_cell( | |||
Jonathan Frederic
|
r14596 | 'int_widget = widgets.IntTextWidget()\n' + | |
Jonathan Frederic
|
r14464 | 'display(int_widget)\n' + | |
'int_widget.add_class("my-second-int-text")\n' + | |||
'print("Success")\n'); | |||
this.execute_cell_then(int_index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == 'Success\n', | |||
'Create int 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, int_text_query_2), | |||
'Widget int textbox exists.'); | |||
this.cell_element_function(int_index, int_text_query_2, 'val', ['']); | |||
this.sendKeys(int_text_query_2, '1.05'); | |||
}); | |||
this.wait(500); // Wait for change to execute in kernel | |||
index = this.append_cell('print(int_widget.value)\n'); | |||
this.execute_cell_then(index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == '1\n', | |||
'Int textbox value set.'); | |||
this.cell_element_function(int_index, int_text_query_2, 'val', ['']); | |||
this.sendKeys(int_text_query_2, '123456789'); | |||
}); | |||
this.wait(500); // Wait for change to execute in kernel | |||
index = this.append_cell('print(int_widget.value)\n'); | |||
this.execute_cell_then(index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == '123456789\n', | |||
'Long int textbox value set (probably triggers throttling).'); | |||
this.cell_element_function(int_index, int_text_query_2, 'val', ['']); | |||
this.sendKeys(int_text_query_2, '12hello'); | |||
}); | |||
this.wait(500); // Wait for change to execute in kernel | |||
index = this.append_cell('print(int_widget.value)\n'); | |||
this.execute_cell_then(index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == '12\n', | |||
'Invald int textbox value caught and filtered.'); | |||
}); | |||
Jonathan Frederic
|
r14674 | ||
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 slider_query = '.widget-area .widget-subarea .widget-hbox-single .slider'; | |||
var int_text_query = '.widget-area .widget-subarea .widget-hbox-single .my-second-num-test-text'; | |||
var intrange_index = this.append_cell( | |||
'intrange = [widgets.BoundedIntTextWidget(),\n' + | |||
' widgets.IntSliderWidget()]\n' + | |||
'[display(intrange[i]) for i in range(2)]\n' + | |||
'intrange[0].add_class("my-second-num-test-text")\n' + | |||
'print("Success")\n'); | |||
this.execute_cell_then(intrange_index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == 'Success\n', | |||
'Create int range 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, slider_query), | |||
'Widget slider exists.'); | |||
this.test.assert(this.cell_element_exists(index, int_text_query), | |||
'Widget int textbox exists.'); | |||
}); | |||
index = this.append_cell( | |||
'for widget in intrange:\n' + | |||
' widget.max = 50\n' + | |||
' widget.min = -50\n' + | |||
' widget.value = 25\n' + | |||
'print("Success")\n'); | |||
this.execute_cell_then(index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == 'Success\n', | |||
'Int range properties cell executed with correct output.'); | |||
this.test.assert(this.cell_element_exists(intrange_index, slider_query), | |||
'Widget slider exists.'); | |||
this.test.assert(this.cell_element_function(intrange_index, slider_query, | |||
'slider', ['value']) == 25, | |||
'Slider set to Python value.'); | |||
this.test.assert(this.cell_element_function(intrange_index, int_text_query, | |||
'val') == 25, 'Int textbox set to Python value.'); | |||
// Clear the int textbox value and then set it to 1 by emulating | |||
// keyboard presses. | |||
this.cell_element_function(intrange_index, int_text_query, 'val', ['']); | |||
this.sendKeys(int_text_query, '1'); | |||
}); | |||
this.wait(500); // Wait for change to execute in kernel | |||
index = this.append_cell('print(intrange[0].value)\n'); | |||
this.execute_cell_then(index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == '1\n', | |||
'Int textbox set int range value'); | |||
// Clear the int textbox value and then set it to 120 by emulating | |||
// keyboard presses. | |||
this.cell_element_function(intrange_index, int_text_query, 'val', ['']); | |||
this.sendKeys(int_text_query, '120'); | |||
}); | |||
this.wait(500); // Wait for change to execute in kernel | |||
index = this.append_cell('print(intrange[0].value)\n'); | |||
this.execute_cell_then(index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == '50\n', | |||
'Int textbox value bound'); | |||
// Clear the int textbox value and then set it to 'hello world' by | |||
// emulating keyboard presses. 'hello world' should get filtered... | |||
this.cell_element_function(intrange_index, int_text_query, 'val', ['']); | |||
this.sendKeys(int_text_query, 'hello world'); | |||
}); | |||
this.wait(500); // Wait for change to execute in kernel | |||
index = this.append_cell('print(intrange[0].value)\n'); | |||
this.execute_cell_then(index, function(index){ | |||
this.test.assert(this.get_output_cell(index).text == '50\n', | |||
'Invalid int textbox characters ignored'); | |||
}); | |||
Jonathan Frederic
|
r14464 | }); |