diff --git a/IPython/html/tests/casperjs/test_cases/widgets.js b/IPython/html/tests/casperjs/test_cases/widgets.js
index a50ea9dc0..9825858be 100644
--- a/IPython/html/tests/casperjs/test_cases/widgets.js
+++ b/IPython/html/tests/casperjs/test_cases/widgets.js
@@ -713,5 +713,47 @@ casper.notebook_test(function () {
'selected_index property updated with tab change.');
});
+ // Test selection widget /////////////////////////////////////////////////
+ var combo_selector = '.widget-area .widget-subarea .widget-hbox-single .btn-group .widget-combo-button'
+ var multibtn_selector = '.widget-area .widget-subarea .widget-hbox-single .btn-group[data-toggle="buttons-radio"]'
+ var radio_selector = '.widget-area .widget-subarea .widget-hbox .vbox'
+ var list_selector = '.widget-area .widget-subarea .widget-hbox .widget-listbox'
+
+ var selection_index;
+ var selection_values = 'abcd';
+ var check_state = function(index, state, test_mssage){
+ if (0 <= index && index < selection_values.length) {
+ var multibtn_state = this.cell_element_function(selection_index, multibtn_selector + '.btn:nth-child(' + (index + 1) + ')', 'hasClass', ['active']);
+ var radio_state = this.cell_element_function(selection_index, radio_selector + '.radio:nth-child(' + (index + 1) + ')', 'val');
+ var list_val = this.cell_element_function(selection_index, list_selector, 'val');
+ var combo_val = this.cell_element_function(selection_index, combo_selector, 'html');
+
+ var val = selection_values.charAt(index);
+ var list_state = (val == list_val);
+ var combo_state = (val == combo_val);
+
+ this.test.assert(multibtn_state == state, 'Multibutton correct state (' + state + '), ' + test_mssage);
+ this.test.assert(radio_state == state, 'Radio correct state (' + state + '), ' + test_mssage);
+ this.test.assert(list_state == state, 'ListBox correct state (' + state + '), ' + test_mssage);
+ this.test.assert(combo_state == state, 'ComboBox correct state (' + state + '), ' + test_mssage);
+ }
+ }
+
+
+
+ selection_index = this.append_cell(
+ 'selection = widgets.SelectionWidget(values=["' + selection_values + '"[i] for i in range(4)])\n' +
+ 'display(selection)\n' +
+ 'display(selection, view_name="ToggleButtonsView")\n' +
+ 'display(selection, view_name="RadioButtonsView")\n' +
+ 'display(selection, view_name="ListBoxView")\n' +
+ 'print("Success")\n');
+ this.execute_cell_then(selection_index, function(index){
+ this.test.assert(this.get_output_cell(index).text == 'Success\n',
+ 'Create selection cell executed with correct output. (1)');
+
+ this.test.assert(,
+ '');
+ });
});