Show More
@@ -26,7 +26,6 b' casper.notebook_test(function () {' | |||||
26 | }), 'Notebook widget manager instanciated'); |
|
26 | }), 'Notebook widget manager instanciated'); | |
27 | }); |
|
27 | }); | |
28 |
|
28 | |||
29 |
|
||||
30 | // Check widget mapping //////////////////////////////////////////////////// |
|
29 | // Check widget mapping //////////////////////////////////////////////////// | |
31 | index = this.append_cell( |
|
30 | index = this.append_cell( | |
32 | 'names = [name for name in dir(widgets)' + |
|
31 | 'names = [name for name in dir(widgets)' + | |
@@ -165,6 +164,7 b' casper.notebook_test(function () {' | |||||
165 | }); |
|
164 | }); | |
166 |
|
165 | |||
167 | // Test button widget ////////////////////////////////////////////////////// |
|
166 | // Test button widget ////////////////////////////////////////////////////// | |
|
167 | ||||
168 | var button_index = this.append_cell( |
|
168 | var button_index = this.append_cell( | |
169 | 'button = widgets.ButtonWidget(description="Title")\n' + |
|
169 | 'button = widgets.ButtonWidget(description="Title")\n' + | |
170 | 'display(button)\n'+ |
|
170 | 'display(button)\n'+ | |
@@ -418,7 +418,63 b' casper.notebook_test(function () {' | |||||
418 | index = this.append_cell('print(float_widget.value)\n'); |
|
418 | index = this.append_cell('print(float_widget.value)\n'); | |
419 | this.execute_cell_then(index, function(index){ |
|
419 | this.execute_cell_then(index, function(index){ | |
420 | this.test.assert(this.get_output_cell(index).text == '12.0\n', |
|
420 | this.test.assert(this.get_output_cell(index).text == '12.0\n', | |
421 |
' |
|
421 | 'Invald float textbox value caught and filtered.'); | |
|
422 | }); | |||
|
423 | ||||
|
424 | // Test image widget /////////////////////////////////////////////////////// | |||
|
425 | ||||
|
426 | // Get the temporary directory that the test server is running in. | |||
|
427 | var cwd = ''; | |||
|
428 | index = this.append_cell('!echo $(pwd)'); | |||
|
429 | this.execute_cell_then(index, function(index){ | |||
|
430 | cwd = this.get_output_cell(index).text.trim(); | |||
|
431 | }); | |||
|
432 | ||||
|
433 | test_jpg = '/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDACAWGBwYFCAcGhwkIiAmMFA0MCwsMGJGSjpQdGZ6eHJmcG6AkLicgIiuim5woNqirr7EztDOfJri8uDI8LjKzsb/2wBDASIkJDAqMF40NF7GhHCExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsb/wgARCAABAAEDAREAAhEBAxEB/8QAFAABAAAAAAAAAAAAAAAAAAAAA//EABUBAQEAAAAAAAAAAAAAAAAAAAME/9oADAMBAAIQAxAAAAECv//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQn//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z'; | |||
|
434 | test_results = '/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDi6KKK+ZP3EKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z'; | |||
|
435 | ||||
|
436 | var image_index = this.append_cell( | |||
|
437 | 'import base64\n' + | |||
|
438 | 'data = base64.b64decode("' + test_jpg + '")\n' + | |||
|
439 | 'image = widgets.ImageWidget()\n' + | |||
|
440 | 'image.image_format = "jpeg"\n' + | |||
|
441 | 'image.value = data\n' + | |||
|
442 | 'image.width = "50px"\n' + | |||
|
443 | 'image.height = "50px"\n' + | |||
|
444 | // Set css that will make the image render within the PhantomJS visible | |||
|
445 | // window. If we don't do this, the captured image will be black. | |||
|
446 | 'image.set_css({"background": "blue", "z-index": "9999", "position": "fixed", "top": "0px", "left": "0px"})\n' + | |||
|
447 | 'display(image)\n' + | |||
|
448 | 'image.add_class("my-test-image")\n' + | |||
|
449 | 'print("Success")\n'); | |||
|
450 | this.execute_cell_then(image_index, function(index){ | |||
|
451 | ||||
|
452 | this.test.assert(this.get_output_cell(index).text == 'Success\n', | |||
|
453 | 'Create image executed with correct output.'); | |||
|
454 | ||||
|
455 | this.test.assert(this.cell_element_exists(index, | |||
|
456 | '.widget-area .widget-subarea'), | |||
|
457 | 'Widget subarea exists.'); | |||
|
458 | ||||
|
459 | this.test.assert(this.cell_element_exists(index, | |||
|
460 | '.widget-area .widget-subarea img'), | |||
|
461 | 'Image exists.'); | |||
|
462 | ||||
|
463 | // Capture a screenshot of the img element as a base64 string. | |||
|
464 | var fs = require('fs'); | |||
|
465 | capture_filename = cwd + fs.separator + 'captured.jpg'; | |||
|
466 | this.captureSelector(capture_filename, '.my-test-image'); | |||
|
467 | var stream = fs.open(capture_filename, 'rb'); | |||
|
468 | var captured = btoa(stream.read()); | |||
|
469 | stream.close() | |||
|
470 | fs.remove(capture_filename); | |||
|
471 | ||||
|
472 | // Uncomment line below to output captured image data to a text file. | |||
|
473 | // fs.write('./captured.txt', captured, 'w'); | |||
|
474 | ||||
|
475 | this.test.assert(test_results==captured, "Red image data displayed correctly."); | |||
422 | }); |
|
476 | }); | |
|
477 | ||||
423 | }); |
|
478 | }); | |
424 |
|
479 | |||
|
480 |
General Comments 0
You need to be logged in to leave comments.
Login now