##// END OF EJS Templates
Merge pull request #4645 from jdfreder/casperjs_utils...
Paul Ivanov -
r13816:7d0bedb0 merge
parent child Browse files
Show More
@@ -93,6 +93,88 b' casper.get_cells_length = function () {'
93 return result;
93 return result;
94 };
94 };
95
95
96 // Set the text content of a cell.
97 casper.set_cell_text = function(index, text){
98 this.evaluate(function (index, text) {
99 var cell = IPython.notebook.get_cell(index);
100 cell.set_text(text);
101 }, index, text);
102 };
103
104 // Inserts a cell at the bottom of the notebook
105 // Returns the new cell's index.
106 casper.insert_cell_at_bottom = function(cell_type){
107 if (cell_type===undefined) {
108 cell_type = 'code';
109 }
110
111 return this.evaluate(function (cell_type) {
112 var cell = IPython.notebook.insert_cell_at_bottom(cell_type);
113 return IPython.notebook.find_cell_index(cell);
114 }, cell_type);
115 };
116
117 // Insert a cell at the bottom of the notebook and set the cells text.
118 // Returns the new cell's index.
119 casper.append_cell = function(text, cell_type) {
120 var index = this.insert_cell_at_bottom(cell_type);
121 if (text !== undefined) {
122 this.set_cell_text(index, text);
123 }
124 return index;
125 };
126
127 // Asynchronously executes a cell by index.
128 // Returns the cell's index.
129 casper.execute_cell = function(index){
130 var that = this;
131 this.then(function(){
132 that.evaluate(function (index) {
133 var cell = IPython.notebook.get_cell(index);
134 cell.execute();
135 }, index);
136 });
137 return index;
138 };
139
140 // Synchronously executes a cell by index.
141 // Optionally accepts a then_callback parameter. then_callback will get called
142 // when the cell has finished executing.
143 // Returns the cell's index.
144 casper.execute_cell_then = function(index, then_callback) {
145 var return_val = this.execute_cell(index);
146
147 this.wait_for_output(index);
148
149 var that = this;
150 this.then(function(){
151 if (then_callback!==undefined) {
152 then_callback.apply(that, [index]);
153 }
154 });
155
156 return return_val;
157 };
158
159 // Utility function that allows us to easily check if an element exists
160 // within a cell. Uses JQuery selector to look for the element.
161 casper.cell_element_exists = function(index, selector){
162 return casper.evaluate(function (index, selector) {
163 var $cell = IPython.notebook.get_cell(index).element;
164 return $cell.find(selector).length > 0;
165 }, index, selector);
166 };
167
168 // Utility function that allows us to execute a jQuery function on an
169 // element within a cell.
170 casper.cell_element_function = function(index, selector, function_name, function_args){
171 return casper.evaluate(function (index, selector, function_name, function_args) {
172 var $cell = IPython.notebook.get_cell(index).element;
173 var $el = $cell.find(selector);
174 return $el[function_name].apply($el, function_args);
175 }, index, selector, function_name, function_args);
176 };
177
96 // Wrap a notebook test to reduce boilerplate.
178 // Wrap a notebook test to reduce boilerplate.
97 casper.notebook_test = function(test) {
179 casper.notebook_test = function(test) {
98 this.open_new_notebook();
180 this.open_new_notebook();
General Comments 0
You need to be logged in to leave comments. Login now