瀏覽代碼

Make api more consistent and update model tests

Steven Silvester 9 年之前
父節點
當前提交
f3bc3fccf4
共有 2 個文件被更改,包括 21 次插入17 次删除
  1. 11 10
      src/notebook/notebook/widget.ts
  2. 10 7
      test/src/notebook/notebook/model.spec.ts

+ 11 - 10
src/notebook/notebook/widget.ts

@@ -36,7 +36,8 @@ import {
 import {
 import {
   ICellModel, BaseCellWidget, MarkdownCellModel,
   ICellModel, BaseCellWidget, MarkdownCellModel,
   CodeCellWidget, MarkdownCellWidget,
   CodeCellWidget, MarkdownCellWidget,
-  CodeCellModel, RawCellWidget, RawCellModel
+  CodeCellModel, RawCellWidget, RawCellModel,
+  ICodeCellModel, IMarkdownCellModel, IRawCellModel
 } from '../cells';
 } from '../cells';
 
 
 import {
 import {
@@ -224,13 +225,13 @@ class StaticNotebook extends Widget {
   private _createWidget(model: ICellModel): BaseCellWidget {
   private _createWidget(model: ICellModel): BaseCellWidget {
     switch (model.type) {
     switch (model.type) {
     case 'code':
     case 'code':
-      let codeFactory = this._factory.newCodeCell;
+      let codeFactory = this._factory.createCodeCell;
       return codeFactory(model as CodeCellModel, this._rendermime);
       return codeFactory(model as CodeCellModel, this._rendermime);
     case 'markdown':
     case 'markdown':
-      let mdFactory = this._factory.newMarkdownCell;
+      let mdFactory = this._factory.createMarkdownCell;
       return mdFactory(model as MarkdownCellModel, this._rendermime);
       return mdFactory(model as MarkdownCellModel, this._rendermime);
     default:
     default:
-      let rawFactory = this._factory.newRawCell;
+      let rawFactory = this._factory.createRawCell;
       return rawFactory(model as RawCellModel);
       return rawFactory(model as RawCellModel);
     }
     }
   }
   }
@@ -344,17 +345,17 @@ namespace StaticNotebook {
     /**
     /**
      * Create a new code cell widget.
      * Create a new code cell widget.
      */
      */
-    newCodeCell(model: CodeCellModel, rendermime: RenderMime<Widget>): CodeCellWidget;
+    createCodeCell(model: ICodeCellModel, rendermime: RenderMime<Widget>): CodeCellWidget;
 
 
     /**
     /**
      * Create a new markdown cell widget.
      * Create a new markdown cell widget.
      */
      */
-    newMarkdownCell(model: MarkdownCellModel, rendermime: RenderMime<Widget>): MarkdownCellWidget;
+    createMarkdownCell(model: IMarkdownCellModel, rendermime: RenderMime<Widget>): MarkdownCellWidget;
 
 
     /**
     /**
      * Create a new raw cell widget.
      * Create a new raw cell widget.
      */
      */
-    newRawCell(model: RawCellModel): RawCellWidget;
+    createRawCell(model: IRawCellModel): RawCellWidget;
   }
   }
 }
 }
 
 
@@ -670,13 +671,13 @@ namespace Private {
    */
    */
   export
   export
   const defaultFactory: StaticNotebook.ICellWidgetFactory = {
   const defaultFactory: StaticNotebook.ICellWidgetFactory = {
-    newCodeCell: (model: CodeCellModel, rendermime: RenderMime<Widget>) => {
+    createCodeCell: (model: ICodeCellModel, rendermime: RenderMime<Widget>) => {
       return new CodeCellWidget(model, rendermime);
       return new CodeCellWidget(model, rendermime);
     },
     },
-    newMarkdownCell: (model: MarkdownCellModel, rendermime: RenderMime<Widget>) => {
+    createMarkdownCell: (model: IMarkdownCellModel, rendermime: RenderMime<Widget>) => {
       return new MarkdownCellWidget(model, rendermime);
       return new MarkdownCellWidget(model, rendermime);
     },
     },
-    newRawCell: (model: RawCellModel) => {
+    createRawCell: (model: IRawCellModel) => {
       return new RawCellWidget(model);
       return new RawCellWidget(model);
     }
     }
   };
   };

+ 10 - 7
test/src/notebook/notebook/model.spec.ts

@@ -4,11 +4,7 @@
 import expect = require('expect.js');
 import expect = require('expect.js');
 
 
 import {
 import {
-  ObservableList, IListChangedArgs
-} from 'phosphor-observablelist';
-
-import {
-  ICellModel
+  CodeCellModel
 } from '../../../../lib/notebook/cells/model';
 } from '../../../../lib/notebook/cells/model';
 
 
 import {
 import {
@@ -45,6 +41,12 @@ describe('notebook/notebook', () => {
         expect(lang.name).to.be('python');
         expect(lang.name).to.be('python');
       });
       });
 
 
+      it('should add a single code cell by default', () => {
+        let model = new NotebookModel();
+        expect(model.cells.length).to.be(1);
+        expect(model.cells.get(0)).to.be.a(CodeCellModel);
+      });
+
     });
     });
 
 
     describe('#metadataChanged', () => {
     describe('#metadataChanged', () => {
@@ -83,9 +85,10 @@ describe('notebook/notebook', () => {
         expect(model.cells).to.be.an(ObservableUndoableList);
         expect(model.cells).to.be.an(ObservableUndoableList);
       });
       });
 
 
-      it('should default to an empty list', () => {
+      it('should add an empty code cell by default', () => {
         let model = new NotebookModel();
         let model = new NotebookModel();
-        expect(model.cells.length).to.be(0);
+        expect(model.cells.length).to.be(1);
+        expect(model.cells.get(0)).to.be.a(CodeCellModel);
       });
       });
 
 
       it('should be reset when loading from disk', () => {
       it('should be reset when loading from disk', () => {