widget_float.js
106 lines
| 4.3 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r14464 | // Test widget float class | |
casper.notebook_test(function () { | |||
Jonathan Frederic
|
r14970 | var float_text = {}; | |
Jonathan Frederic
|
r17731 | float_text.query = '.widget-area .widget-subarea .my-second-float-text input'; | |
Jonathan Frederic
|
r14970 | float_text.index = this.append_cell( | |
Jonathan Frederic
|
r18910 | 'from IPython.html import widgets\n' + | |
'from IPython.display import display, clear_output\n' + | |||
Jonathan Frederic
|
r17598 | 'float_widget = widgets.FloatText()\n' + | |
Jonathan Frederic
|
r14464 | 'display(float_widget)\n' + | |
Jonathan Frederic
|
r17721 | 'float_widget._dom_classes = ["my-second-float-text"]\n' + | |
Jonathan Frederic
|
r14970 | 'print(float_widget.model_id)\n'); | |
this.execute_cell_then(float_text.index, function(index){ | |||
float_text.model_id = this.get_output_cell(index).text.trim(); | |||
Jonathan Frederic
|
r18910 | }); | |
// Wait for the widget to actually display. | |||
this.wait_for_element(float_text.index, float_text.query); | |||
// Continue with the tests | |||
this.then(function(){ | |||
this.test.assert(this.cell_element_exists(float_text.index, | |||
Jonathan Frederic
|
r14464 | '.widget-area .widget-subarea'), | |
'Widget subarea exists.'); | |||
Jonathan Frederic
|
r18910 | this.test.assert(this.cell_element_exists(float_text.index, float_text.query), | |
Jonathan Frederic
|
r14464 | 'Widget float textbox exists.'); | |
Jonathan Frederic
|
r14970 | this.cell_element_function(float_text.index, float_text.query, 'val', ['']); | |
this.sendKeys(float_text.query, '1.05'); | |||
Jonathan Frederic
|
r14464 | }); | |
Jonathan Frederic
|
r14970 | this.wait_for_widget(float_text); | |
Jonathan Frederic
|
r14464 | ||
index = this.append_cell('print(float_widget.value)\n'); | |||
this.execute_cell_then(index, function(index){ | |||
MinRK
|
r14797 | this.test.assertEquals(this.get_output_cell(index).text, '1.05\n', | |
Jonathan Frederic
|
r14464 | 'Float textbox value set.'); | |
Jonathan Frederic
|
r14970 | this.cell_element_function(float_text.index, float_text.query, 'val', ['']); | |
this.sendKeys(float_text.query, '123456789.0'); | |||
Jonathan Frederic
|
r14464 | }); | |
Jonathan Frederic
|
r14970 | this.wait_for_widget(float_text); | |
Jonathan Frederic
|
r14464 | index = this.append_cell('print(float_widget.value)\n'); | |
this.execute_cell_then(index, function(index){ | |||
MinRK
|
r14797 | this.test.assertEquals(this.get_output_cell(index).text, '123456789.0\n', | |
Jonathan Frederic
|
r14464 | 'Long float textbox value set (probably triggers throttling).'); | |
Jonathan Frederic
|
r14970 | this.cell_element_function(float_text.index, float_text.query, 'val', ['']); | |
this.sendKeys(float_text.query, '12hello'); | |||
Jonathan Frederic
|
r14464 | }); | |
Jonathan Frederic
|
r14970 | this.wait_for_widget(float_text); | |
Jonathan Frederic
|
r14464 | ||
index = this.append_cell('print(float_widget.value)\n'); | |||
this.execute_cell_then(index, function(index){ | |||
MinRK
|
r14797 | this.test.assertEquals(this.get_output_cell(index).text, '12.0\n', | |
Jonathan Frederic
|
r14464 | 'Invald float textbox value caught and filtered.'); | |
}); | |||
Jonathan Frederic
|
r14674 | ||
Jonathan Frederic
|
r17731 | var float_text_query = '.widget-area .widget-subarea .widget-numeric-text'; | |
Jonathan Frederic
|
r14970 | var slider = {}; | |
Jonathan Frederic
|
r17731 | slider.query = '.widget-area .widget-subarea .slider'; | |
Jonathan Frederic
|
r14970 | slider.index = this.append_cell( | |
Jonathan Frederic
|
r17598 | 'floatrange = [widgets.BoundedFloatText(), \n' + | |
' widgets.FloatSlider()]\n' + | |||
Jonathan Frederic
|
r14674 | '[display(floatrange[i]) for i in range(2)]\n' + | |
'print("Success")\n'); | |||
Jonathan Frederic
|
r14970 | this.execute_cell_then(slider.index, function(index){ | |
MinRK
|
r14797 | this.test.assertEquals(this.get_output_cell(index).text, 'Success\n', | |
Jonathan Frederic
|
r14674 | 'Create float range cell executed with correct output.'); | |
Jonathan Frederic
|
r18910 | }); | |
// Wait for the widgets to actually display. | |||
this.wait_for_element(slider.index, slider.query); | |||
this.wait_for_element(slider.index, float_text_query); | |||
Jonathan Frederic
|
r14674 | ||
Jonathan Frederic
|
r18910 | this.then(function(){ | |
this.test.assert(this.cell_element_exists(slider.index, | |||
Jonathan Frederic
|
r14674 | '.widget-area .widget-subarea'), | |
'Widget subarea exists.'); | |||
Jonathan Frederic
|
r18910 | this.test.assert(this.cell_element_exists(slider.index, slider.query), | |
Jonathan Frederic
|
r14674 | 'Widget slider exists.'); | |
Jonathan Frederic
|
r18910 | this.test.assert(this.cell_element_exists(slider.index, float_text_query), | |
Jonathan Frederic
|
r14674 | 'Widget float textbox exists.'); | |
}); | |||
index = this.append_cell( | |||
'for widget in floatrange:\n' + | |||
' widget.max = 50.0\n' + | |||
' widget.min = -50.0\n' + | |||
Jonathan Frederic
|
r14690 | ' widget.value = 25.0\n' + | |
Jonathan Frederic
|
r14674 | 'print("Success")\n'); | |
this.execute_cell_then(index, function(index){ | |||
MinRK
|
r14797 | this.test.assertEquals(this.get_output_cell(index).text, 'Success\n', | |
Jonathan Frederic
|
r14674 | 'Float range properties cell executed with correct output.'); | |
Jonathan Frederic
|
r14970 | this.test.assert(this.cell_element_exists(slider.index, slider.query), | |
Jonathan Frederic
|
r14674 | 'Widget slider exists.'); | |
Jonathan Frederic
|
r14970 | this.test.assert(this.cell_element_function(slider.index, slider.query, | |
Jonathan Frederic
|
r14690 | 'slider', ['value']) == 25.0, | |
Jonathan Frederic
|
r14674 | 'Slider set to Python value.'); | |
}); | |||
Jonathan Frederic
|
r14464 | }); |