notebook/IPython/html/tests/widgets/manager.js
Jonathan Frederic 3cb5ac6fbb Clarified API for the create_model function,
Also added a test!
2014-10-28 16:49:46 -07:00

37 lines
1.4 KiB
JavaScript

// Test the widget manager.
casper.notebook_test(function () {
var index;
var slider = {};
this.then(function () {
// Check if the WidgetManager class is defined.
this.test.assert(this.evaluate(function() {
return IPython.WidgetManager !== undefined;
}), 'WidgetManager class is defined');
// Check if the widget manager has been instantiated.
this.test.assert(this.evaluate(function() {
return IPython.notebook.kernel.widget_manager !== undefined;
}), 'Notebook widget manager instantiated');
// Try creating a widget from Javascript.
slider.id = this.evaluate(function() {
var slider = IPython.notebook.kernel.widget_manager.create_model({
model_name: 'WidgetModel',
target_name: 'IPython.html.widgets.widget_int.IntSlider',
init_state_callback: function(model) { console.log('Create success!', model); }});
return slider.id;
});
});
index = this.append_cell(
'from IPython.html.widgets import Widget\n' +
'widget = Widget.widgets.values()[0]\n' +
'print(widget.model_id)');
this.execute_cell_then(index, function(index) {
var output = this.get_output_cell(index).text.trim();
this.test.assertEquals(output, slider.id, "Widget created from the front-end.");
});
});