Bläddra i källkod

Merge pull request #186 from blink1073/fix-default-toolbar-tests

Do not rely on promise resolution order in tests
A. Darian 8 år sedan
förälder
incheckning
49b5900e72
2 ändrade filer med 15 tillägg och 14 borttagningar
  1. 1 1
      package.json
  2. 14 13
      test/src/notebook/notebook/default-toolbar.spec.ts

+ 1 - 1
package.json

@@ -13,7 +13,7 @@
     "file-loader": "^0.8.5",
     "jquery": "^2.2.0",
     "jquery-ui": "^1.10.5",
-    "jupyter-js-services": "^0.11.1",
+    "jupyter-js-services": "^0.11.3",
     "jupyter-js-utils": "^0.4.0",
     "jupyter-js-widgets": "2.0.0-dev.0",
     "marked": "^0.3.5",

+ 14 - 13
test/src/notebook/notebook/default-toolbar.spec.ts

@@ -53,7 +53,7 @@ const clipboard = new MimeData();
 
 describe('notebook/notebook/default-toolbar', () => {
 
-  describe('TooolbarItems', () => {
+  describe('ToolbarItems', () => {
 
     let panel: NotebookPanel;
     let context: MockContext<NotebookModel>;
@@ -176,16 +176,16 @@ describe('notebook/notebook/default-toolbar', () => {
         let cell = widget.activeCell as CodeCellWidget;
         cell.model.outputs.clear();
         next.rendered = false;
-
         button.attach(document.body);
-        button.node.click();
-
-        Promise.resolve(void 0).then(() => {
-          expect(cell.model.outputs.length).to.be.above(0);
-          expect(next.rendered).to.be(true);
-          button.dispose();
-          done();
+        panel.kernel.statusChanged.connect((sender, status) => {
+          if (status === 'idle') {
+            expect(cell.model.outputs.length).to.be.above(0);
+            expect(next.rendered).to.be(true);
+            button.dispose();
+            done();
+          }
         });
+        button.node.click();
       });
 
       it("should have the `'jp-NBToolbar-run'` class", () => {
@@ -202,10 +202,11 @@ describe('notebook/notebook/default-toolbar', () => {
         button.attach(document.body);
         button.node.click();
         expect(panel.context.kernel.status).to.be('busy');
-        Promise.resolve(void 0).then(() => {
-          expect(panel.context.kernel.status).to.be('idle');
-          button.dispose();
-          done();
+        panel.kernel.statusChanged.connect((sender, status) => {
+          if (status === 'idle') {
+            button.dispose();
+            done();
+          }
         });
       });