浏览代码

reinstate resize message and update tests

Steven Silvester 7 年之前
父节点
当前提交
12a58290c4
共有 2 个文件被更改,包括 18 次插入6 次删除
  1. 9 1
      packages/terminal/src/widget.ts
  2. 9 5
      tests/test-terminal/src/terminal.spec.ts

+ 9 - 1
packages/terminal/src/widget.ts

@@ -6,7 +6,7 @@ import {
 } from '@jupyterlab/services';
 
 import {
-  Message
+  Message, MessageLoop
 } from '@phosphor/messaging';
 
 import {
@@ -213,6 +213,14 @@ class Terminal extends Widget {
     }
   }
 
+  /**
+   * A message handler invoked on an `'fit-request'` message.
+   */
+  protected onFitRequest(msg: Message): void {
+    let resize = Widget.ResizeMessage.UnknownSize;
+    MessageLoop.sendMessage(this, resize);
+  }
+
   /**
    * Handle `'activate-request'` messages.
    */

+ 9 - 5
tests/test-terminal/src/terminal.spec.ts

@@ -7,10 +7,6 @@ import {
   TerminalSession
 } from '@jupyterlab/services';
 
-import {
-  Platform
-} from '@phosphor/domutils';
-
 import {
   Message, MessageLoop
 } from '@phosphor/messaging';
@@ -74,8 +70,12 @@ describe('terminal/index', () => {
       }).then(done, done);
     });
 
-    beforeEach(() => {
+    beforeEach((done) => {
       widget = new LogTerminal();
+      Widget.attach(widget, document.body);
+      requestAnimationFrame(() => {
+        done();
+      });
     });
 
     afterEach(() => {
@@ -170,6 +170,7 @@ describe('terminal/index', () => {
 
       it('should post an update request', (done) => {
         widget.session = session;
+        Widget.detach(widget);
         Widget.attach(widget, document.body);
         requestAnimationFrame(() => {
           expect(widget.methods).to.contain('onUpdateRequest');
@@ -184,6 +185,7 @@ describe('terminal/index', () => {
       it('should post an update request', (done) => {
         widget.session = session;
         widget.hide();
+        Widget.detach(widget);
         Widget.attach(widget, document.body);
         requestAnimationFrame(() => {
           widget.methods = [];
@@ -214,6 +216,7 @@ describe('terminal/index', () => {
     describe('#onUpdateRequest()', () => {
 
       it('should set the style of the terminal', () => {
+        Widget.detach(widget);
         Widget.attach(widget, document.body);
         MessageLoop.sendMessage(widget, Widget.Msg.UpdateRequest);
         expect(widget.methods).to.contain('onUpdateRequest');
@@ -235,6 +238,7 @@ describe('terminal/index', () => {
     describe('#onActivateRequest', () => {
 
       it('should focus the terminal element', () => {
+        Widget.detach(widget);
         Widget.attach(widget, document.body);
         expect(widget.node.contains(document.activeElement)).to.be(false);
         MessageLoop.sendMessage(widget, Widget.Msg.ActivateRequest);