first review pass on widget tests

This commit is contained in:
MinRK 2014-01-26 17:01:59 -08:00
parent 36db60eacb
commit 119052f75d
10 changed files with 55 additions and 62 deletions

View File

@ -6,7 +6,7 @@ casper.notebook_test(function () {
// Check if the WidgetManager class is defined. // Check if the WidgetManager class is defined.
this.test.assert(this.evaluate(function() { this.test.assert(this.evaluate(function() {
return IPython.WidgetManager != undefined; return IPython.WidgetManager !== undefined;
}), 'WidgetManager class is defined'); }), 'WidgetManager class is defined');
}); });
@ -19,10 +19,10 @@ casper.notebook_test(function () {
this.wait(500); // Wait for require.js async callbacks to load dependencies. this.wait(500); // Wait for require.js async callbacks to load dependencies.
this.then(function () { this.then(function () {
// Check if the widget manager has been instanciated. // Check if the widget manager has been instantiated.
this.test.assert(this.evaluate(function() { this.test.assert(this.evaluate(function() {
return IPython.notebook.kernel.widget_manager != undefined; return IPython.notebook.kernel.widget_manager !== undefined;
}), 'Notebook widget manager instanciated'); }), 'Notebook widget manager instantiated');
}); });
throttle_index = this.append_cell( throttle_index = this.append_cell(
@ -33,10 +33,10 @@ casper.notebook_test(function () {
'def handle_change(name, old, new):\n' + 'def handle_change(name, old, new):\n' +
' print(len(new))\n' + ' print(len(new))\n' +
' time.sleep(0.5)\n' + ' time.sleep(0.5)\n' +
'textbox.on_trait_change(handle_change)\n' + 'textbox.on_trait_change(handle_change, "value")\n' +
'print("Success")'); 'print("Success")');
this.execute_cell_then(throttle_index, function(index){ this.execute_cell_then(throttle_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Test throttling cell executed with correct output'); 'Test throttling cell executed with correct output');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -53,24 +53,17 @@ casper.notebook_test(function () {
this.wait(2000); // Wait for clicks to execute in kernel this.wait(2000); // Wait for clicks to execute in kernel
this.then(function(){ this.then(function(){
var resume = true; var outputs = this.evaluate(function(i) {
var i = 0; return IPython.notebook.get_cell(i).output_area.outputs;
while (resume) { }, {i : throttle_index});
i++;
var output = this.get_output_cell(throttle_index, i);
if (output === undefined || output === null) {
resume = false;
i--;
}
}
// Only 4 outputs should have printed, but because of timing, sometimes // Only 4 outputs should have printed, but because of timing, sometimes
// 5 outputs will print. All we need to do is verify num outputs <= 5 // 5 outputs will print. All we need to do is verify num outputs <= 5
// because that is much less than 20. // because that is much less than 20.
this.test.assert(i <= 5, 'Messages throttled.'); this.test.assert(outputs.length <= 5, 'Messages throttled.');
// We also need to verify that the last state sent was correct. // We also need to verify that the last state sent was correct.
var last_state = this.get_output_cell(throttle_index, i).text; var last_state = outputs[outputs.length-1].text;
this.test.assert(last_state == "20\n", "Last state sent when throttling."); this.test.assertEquals(last_state, "20\n", "Last state sent when throttling.");
}); });
}); });

View File

@ -14,7 +14,7 @@ casper.notebook_test(function () {
'print("Success")'); 'print("Success")');
this.execute_cell_then(bool_index, function(index){ this.execute_cell_then(bool_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create bool widget cell executed with correct output.'); 'Create bool widget cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -57,7 +57,7 @@ casper.notebook_test(function () {
'print("Success")'); 'print("Success")');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Change bool widget value cell executed with correct output.'); 'Change bool widget value cell executed with correct output.');
this.test.assert(! this.cell_element_function(bool_index, this.test.assert(! this.cell_element_function(bool_index,

View File

@ -15,7 +15,7 @@ casper.notebook_test(function () {
'button.on_click(handle_click)'); 'button.on_click(handle_click)');
this.execute_cell_then(button_index, function(index){ this.execute_cell_then(button_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create button cell executed with correct output.'); 'Create button cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -37,7 +37,7 @@ casper.notebook_test(function () {
this.wait(500); // Wait for click to execute in kernel and write output this.wait(500); // Wait for click to execute in kernel and write output
this.then(function () { this.then(function () {
this.test.assert(this.get_output_cell(button_index, 1).text == 'Clicked\n', this.test.assertEquals(this.get_output_cell(button_index, 1).text, 'Clicked\n',
'Button click event fires.'); 'Button click event fires.');
}); });
}); });

View File

@ -15,7 +15,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(container_index, function(index){ this.execute_cell_then(container_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create container cell executed with correct output.'); 'Create container cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -40,7 +40,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Set container class CSS cell executed with correct output.'); 'Set container class CSS cell executed with correct output.');
this.test.assert(this.cell_element_function(container_index, this.test.assert(this.cell_element_function(container_index,
@ -53,7 +53,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Remove container class cell executed with correct output.'); 'Remove container class cell executed with correct output.');
this.test.assert(! this.cell_element_exists(container_index, this.test.assert(! this.cell_element_exists(container_index,
@ -66,7 +66,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Display container child executed with correct output.'); 'Display container child executed with correct output.');
this.test.assert(! this.cell_element_exists(index, this.test.assert(! this.cell_element_exists(index,

View File

@ -15,7 +15,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(float_index, function(index){ this.execute_cell_then(float_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create float cell executed with correct output.'); 'Create float cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -33,7 +33,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(float_widget.value)\n'); index = this.append_cell('print(float_widget.value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '1.05\n', this.test.assertEquals(this.get_output_cell(index).text, '1.05\n',
'Float textbox value set.'); 'Float textbox value set.');
this.cell_element_function(float_index, float_text_query_2, 'val', ['']); this.cell_element_function(float_index, float_text_query_2, 'val', ['']);
this.sendKeys(float_text_query_2, '123456789.0'); this.sendKeys(float_text_query_2, '123456789.0');
@ -43,7 +43,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(float_widget.value)\n'); index = this.append_cell('print(float_widget.value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '123456789.0\n', this.test.assertEquals(this.get_output_cell(index).text, '123456789.0\n',
'Long float textbox value set (probably triggers throttling).'); 'Long float textbox value set (probably triggers throttling).');
this.cell_element_function(float_index, float_text_query_2, 'val', ['']); this.cell_element_function(float_index, float_text_query_2, 'val', ['']);
this.sendKeys(float_text_query_2, '12hello'); this.sendKeys(float_text_query_2, '12hello');
@ -53,7 +53,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(float_widget.value)\n'); index = this.append_cell('print(float_widget.value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '12.0\n', this.test.assertEquals(this.get_output_cell(index).text, '12.0\n',
'Invald float textbox value caught and filtered.'); 'Invald float textbox value caught and filtered.');
}); });
@ -73,7 +73,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(floatrange_index, function(index){ this.execute_cell_then(floatrange_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create float range cell executed with correct output.'); 'Create float range cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -95,7 +95,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Float range properties cell executed with correct output.'); 'Float range properties cell executed with correct output.');
this.test.assert(this.cell_element_exists(floatrange_index, slider_query), this.test.assert(this.cell_element_exists(floatrange_index, slider_query),

View File

@ -32,7 +32,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(image_index, function(index){ this.execute_cell_then(image_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create image executed with correct output.'); 'Create image executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -49,12 +49,12 @@ casper.notebook_test(function () {
this.captureSelector(capture_filename, '.my-test-image'); this.captureSelector(capture_filename, '.my-test-image');
var stream = fs.open(capture_filename, 'rb'); var stream = fs.open(capture_filename, 'rb');
var captured = btoa(stream.read()); var captured = btoa(stream.read());
stream.close() stream.close();
fs.remove(capture_filename); fs.remove(capture_filename);
// Uncomment line below to output captured image data to a text file. // Uncomment line below to output captured image data to a text file.
// fs.write('./captured.txt', captured, 'w'); // fs.write('./captured.txt', captured, 'w');
this.test.assert(test_results==captured, "Red image data displayed correctly."); this.test.assertEquals(test_results, captured, "Red image data displayed correctly.");
}); });
}); });

View File

@ -15,7 +15,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(int_index, function(index){ this.execute_cell_then(int_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create int cell executed with correct output.'); 'Create int cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -33,7 +33,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(int_widget.value)\n'); index = this.append_cell('print(int_widget.value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '1\n', this.test.assertEquals(this.get_output_cell(index).text, '1\n',
'Int textbox value set.'); 'Int textbox value set.');
this.cell_element_function(int_index, int_text_query_2, 'val', ['']); this.cell_element_function(int_index, int_text_query_2, 'val', ['']);
this.sendKeys(int_text_query_2, '123456789'); this.sendKeys(int_text_query_2, '123456789');
@ -43,7 +43,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(int_widget.value)\n'); index = this.append_cell('print(int_widget.value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '123456789\n', this.test.assertEquals(this.get_output_cell(index).text, '123456789\n',
'Long int textbox value set (probably triggers throttling).'); 'Long int textbox value set (probably triggers throttling).');
this.cell_element_function(int_index, int_text_query_2, 'val', ['']); this.cell_element_function(int_index, int_text_query_2, 'val', ['']);
this.sendKeys(int_text_query_2, '12hello'); this.sendKeys(int_text_query_2, '12hello');
@ -53,7 +53,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(int_widget.value)\n'); index = this.append_cell('print(int_widget.value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '12\n', this.test.assertEquals(this.get_output_cell(index).text, '12\n',
'Invald int textbox value caught and filtered.'); 'Invald int textbox value caught and filtered.');
}); });
@ -74,7 +74,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(intrange_index, function(index){ this.execute_cell_then(intrange_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create int range cell executed with correct output.'); 'Create int range cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -96,7 +96,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Int range properties cell executed with correct output.'); 'Int range properties cell executed with correct output.');
this.test.assert(this.cell_element_exists(intrange_index, slider_query), this.test.assert(this.cell_element_exists(intrange_index, slider_query),
@ -119,7 +119,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(intrange[0].value)\n'); index = this.append_cell('print(intrange[0].value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '1\n', this.test.assertEquals(this.get_output_cell(index).text, '1\n',
'Int textbox set int range value'); 'Int textbox set int range value');
// Clear the int textbox value and then set it to 120 by emulating // Clear the int textbox value and then set it to 120 by emulating
@ -132,7 +132,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(intrange[0].value)\n'); index = this.append_cell('print(intrange[0].value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '50\n', this.test.assertEquals(this.get_output_cell(index).text, '50\n',
'Int textbox value bound'); 'Int textbox value bound');
// Clear the int textbox value and then set it to 'hello world' by // Clear the int textbox value and then set it to 'hello world' by
@ -145,7 +145,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(intrange[0].value)\n'); index = this.append_cell('print(intrange[0].value)\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '50\n', this.test.assertEquals(this.get_output_cell(index).text, '50\n',
'Invalid int textbox characters ignored'); 'Invalid int textbox characters ignored');
}); });
}); });

View File

@ -19,7 +19,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(multicontainer1_index, function(index){ this.execute_cell_then(multicontainer1_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create multicontainer cell executed with correct output. (1)'); 'Create multicontainer cell executed with correct output. (1)');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -33,7 +33,7 @@ casper.notebook_test(function () {
'First widget tab list exists.'); 'First widget tab list exists.');
// JQuery selector is 1 based // JQuery selector is 1 based
this.click(multicontainer1_query + ' li:nth-child(2) a') this.click(multicontainer1_query + ' li:nth-child(2) a');
}); });
this.wait(500); // Wait for change to execute in kernel this.wait(500); // Wait for change to execute in kernel
@ -42,16 +42,16 @@ casper.notebook_test(function () {
'print(multicontainer.selected_index)\n' + 'print(multicontainer.selected_index)\n' +
'multicontainer.selected_index = 2'); // 0 based 'multicontainer.selected_index = 2'); // 0 based
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '1\n', // 0 based this.test.assertEquals(this.get_output_cell(index).text, '1\n', // 0 based
'selected_index property updated with tab change.'); 'selected_index property updated with tab change.');
// JQuery selector is 1 based // JQuery selector is 1 based
this.test.assert(!this.cell_element_function(multicontainer1_index, multicontainer1_query + ' li:nth-child(1)', 'hasClass', ['active']), this.test.assert(!this.cell_element_function(multicontainer1_index, multicontainer1_query + ' li:nth-child(1)', 'hasClass', ['active']),
"Tab 1 is not selected.") "Tab 1 is not selected.");
this.test.assert(!this.cell_element_function(multicontainer1_index, multicontainer1_query + ' li:nth-child(2)', 'hasClass', ['active']), this.test.assert(!this.cell_element_function(multicontainer1_index, multicontainer1_query + ' li:nth-child(2)', 'hasClass', ['active']),
"Tab 2 is not selected.") "Tab 2 is not selected.");
this.test.assert(this.cell_element_function(multicontainer1_index, multicontainer1_query + ' li:nth-child(3)', 'hasClass', ['active']), this.test.assert(this.cell_element_function(multicontainer1_index, multicontainer1_query + ' li:nth-child(3)', 'hasClass', ['active']),
"Tab 3 is selected.") "Tab 3 is selected.");
}); });
index = this.append_cell('multicontainer.set_title(1, "hello")\nprint("Success")'); // 0 based index = this.append_cell('multicontainer.set_title(1, "hello")\nprint("Success")'); // 0 based
@ -75,7 +75,7 @@ casper.notebook_test(function () {
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(multicontainer2_index, function(index){ this.execute_cell_then(multicontainer2_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create multicontainer cell executed with correct output. (2)'); 'Create multicontainer cell executed with correct output. (2)');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -102,7 +102,7 @@ casper.notebook_test(function () {
index = this.append_cell('print(multicontainer.selected_index)'); // 0 based index = this.append_cell('print(multicontainer.selected_index)'); // 0 based
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == '1\n', // 0 based this.test.assertEquals(this.get_output_cell(index).text, '1\n', // 0 based
'selected_index property updated with tab change.'); 'selected_index property updated with tab change.');
}); });
}); });

View File

@ -6,10 +6,10 @@ casper.notebook_test(function () {
'print("Success")'); 'print("Success")');
this.execute_cell_then(index); this.execute_cell_then(index);
var combo_selector = '.widget-area .widget-subarea .widget-hbox-single .btn-group .widget-combo-btn' var combo_selector = '.widget-area .widget-subarea .widget-hbox-single .btn-group .widget-combo-btn';
var multibtn_selector = '.widget-area .widget-subarea .widget-hbox-single .btn-group[data-toggle="buttons-radio"]' 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 radio_selector = '.widget-area .widget-subarea .widget-hbox .vbox';
var list_selector = '.widget-area .widget-subarea .widget-hbox .widget-listbox' var list_selector = '.widget-area .widget-subarea .widget-hbox .widget-listbox';
var selection_index; var selection_index;
var selection_values = 'abcd'; var selection_values = 'abcd';
@ -30,7 +30,7 @@ casper.notebook_test(function () {
combo_state == state; combo_state == state;
} }
return true; return true;
} };
var verify_selection = function(context, index){ var verify_selection = function(context, index){
for (var i = 0; i < selection_values.length; i++) { for (var i = 0; i < selection_values.length; i++) {
@ -39,7 +39,7 @@ casper.notebook_test(function () {
} }
} }
return true; return true;
} };
//values=["' + selection_values + '"[i] for i in range(4)] //values=["' + selection_values + '"[i] for i in range(4)]
selection_index = this.append_cell( selection_index = this.append_cell(
@ -56,7 +56,7 @@ casper.notebook_test(function () {
' widget.on_trait_change(handle_change, "value")\n' + ' widget.on_trait_change(handle_change, "value")\n' +
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(selection_index, function(index){ this.execute_cell_then(selection_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create selection cell executed with correct output.'); 'Create selection cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,
@ -84,7 +84,7 @@ casper.notebook_test(function () {
' widget.value = "a"\n' + ' widget.value = "a"\n' +
'print("Success")\n'); 'print("Success")\n');
this.execute_cell_then(index, function(index){ this.execute_cell_then(index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Python select item executed with correct output.'); 'Python select item executed with correct output.');
// Verify that the first item is selected. // Verify that the first item is selected.

View File

@ -15,7 +15,7 @@ casper.notebook_test(function () {
'print("Success")'); 'print("Success")');
this.execute_cell_then(string_index, function(index){ this.execute_cell_then(string_index, function(index){
this.test.assert(this.get_output_cell(index).text == 'Success\n', this.test.assertEquals(this.get_output_cell(index).text, 'Success\n',
'Create string widget cell executed with correct output.'); 'Create string widget cell executed with correct output.');
this.test.assert(this.cell_element_exists(index, this.test.assert(this.cell_element_exists(index,