From 568eef67e19bb9202c47113ed1aabae53e4a6851 Mon Sep 17 00:00:00 2001 From: Matthew Beale Date: Thu, 17 Dec 2015 14:29:56 -0500 Subject: [PATCH] Make Mobiledoc 0.3 the default version --- package.json | 4 +-- src/js/renderers/mobiledoc/index.js | 4 +-- src/js/utils/dom-utils.js | 2 +- tests/acceptance/basic-editor-test.js | 40 ++++++++++------------ tests/acceptance/editor-copy-paste-test.js | 34 ++++++++---------- tests/acceptance/editor-sections-test.js | 2 +- tests/acceptance/editor-selections-test.js | 2 +- tests/unit/editor/editor-test.js | 16 +++------ tests/unit/parsers/mobiledoc-test.js | 2 +- tests/unit/renderers/mobiledoc-test.js | 5 ++- 10 files changed, 49 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index 7b8e84e0d..2c5de60fc 100644 --- a/package.json +++ b/package.json @@ -33,8 +33,8 @@ ], "license": "MIT", "dependencies": { - "mobiledoc-html-renderer": "^0.2.0", - "mobiledoc-text-renderer": "^0.2.0" + "mobiledoc-html-renderer": "0.3.0-beta1", + "mobiledoc-text-renderer": "0.3.0-beta1" }, "devDependencies": { "broccoli": "^0.16.3", diff --git a/src/js/renderers/mobiledoc/index.js b/src/js/renderers/mobiledoc/index.js index a4435f780..3390efa62 100644 --- a/src/js/renderers/mobiledoc/index.js +++ b/src/js/renderers/mobiledoc/index.js @@ -2,15 +2,15 @@ import MobiledocRenderer_0_2, { MOBILEDOC_VERSION as MOBILEDOC_VERSION_0_2 } fro import MobiledocRenderer_0_3, { MOBILEDOC_VERSION as MOBILEDOC_VERSION_0_3 } from './0-3'; import assert from 'mobiledoc-kit/utils/assert'; -export const MOBILEDOC_VERSION = MOBILEDOC_VERSION_0_2; +export const MOBILEDOC_VERSION = MOBILEDOC_VERSION_0_3; export default { render(post, version) { switch (version) { case MOBILEDOC_VERSION_0_2: + return MobiledocRenderer_0_2.render(post); case undefined: case null: - return MobiledocRenderer_0_2.render(post); case MOBILEDOC_VERSION_0_3: return MobiledocRenderer_0_3.render(post); default: diff --git a/src/js/utils/dom-utils.js b/src/js/utils/dom-utils.js index 4ca7cec6d..bf58f4ddd 100644 --- a/src/js/utils/dom-utils.js +++ b/src/js/utils/dom-utils.js @@ -16,7 +16,7 @@ function isCommentNode(node) { } function isElementNode(node) { - return node.nodeType === ELEMENT_NODE_TYPE; + return node.nodeType === NODE_TYPES.ELEMENT; } // perform a pre-order tree traversal of the dom, calling `callbackFn(node)` diff --git a/tests/acceptance/basic-editor-test.js b/tests/acceptance/basic-editor-test.js index 94d470752..ff472baf9 100644 --- a/tests/acceptance/basic-editor-test.js +++ b/tests/acceptance/basic-editor-test.js @@ -166,15 +166,14 @@ test('typing tab enters a tab character', (assert) => { Helpers.dom.insertText(editor, TAB); Helpers.dom.insertText(editor, 'Y'); window.setTimeout(() => { - let editedMobiledoc = editor.serialize(); - assert.deepEqual(editedMobiledoc.sections, [ - [], - [ - [1, 'p', [ - [[], 0, `${TAB}Y`] - ]] - ] - ], 'correctly encoded'); + let expectedPost = Helpers.postAbstract.build(({post, markupSection, marker}) => { + return post([ + markupSection('p', [ + marker(`${TAB}Y`) + ]) + ]); + }); + assert.postIsSimilar(editor.post, expectedPost); done(); }, 0); }); @@ -219,18 +218,17 @@ test('typing enter splits lines, sets cursor', (assert) => { Helpers.dom.moveCursorTo($('#editor p')[0].firstChild, 2); Helpers.dom.insertText(editor, ENTER); window.setTimeout(() => { - let editedMobiledoc = editor.serialize(); - assert.deepEqual(editedMobiledoc.sections, [ - [], - [ - [1, 'p', [ - [[], 0, `hi`] - ]], - [1, 'p', [ - [[], 0, `hey`] - ]] - ] - ], 'correctly encoded'); + let expectedPost = Helpers.postAbstract.build(({post, markupSection, marker}) => { + return post([ + markupSection('p', [ + marker(`hi`) + ]), + markupSection('p', [ + marker(`hey`) + ]) + ]); + }); + assert.postIsSimilar(editor.post, expectedPost, 'correctly encoded'); let expectedRange = new Range(new Position(editor.post.sections.tail, 0)); assert.ok(expectedRange.isEqual(editor.range), 'range is at start of new section'); done(); diff --git a/tests/acceptance/editor-copy-paste-test.js b/tests/acceptance/editor-copy-paste-test.js index ac1aca40f..617f4b9ee 100644 --- a/tests/acceptance/editor-copy-paste-test.js +++ b/tests/acceptance/editor-copy-paste-test.js @@ -327,30 +327,24 @@ test('pasting when on the end of a card is blocked', (assert) => { editor.selectRange(new Range(editor.post.sections.head.headPosition())); Helpers.dom.triggerPasteEvent(editor); - let updatedMobiledoc = editor.serialize(); - assert.deepEqual(updatedMobiledoc.sections, [ - [], - [ - [10, 'my-card', {}], - [1, 'p', [ - [[], 0, 'abc'] - ]] - ] - ], 'no paste has occurred'); + assert.postIsSimilar(editor.post, Helpers.postAbstract.build( + ({post, cardSection, markupSection, marker}) => { + return post([ + cardSection('my-card'), + markupSection('p', [marker('abc')]) + ]); + }), 'no paste has occurred'); editor.selectRange(new Range(editor.post.sections.head.tailPosition())); Helpers.dom.triggerPasteEvent(editor); - updatedMobiledoc = editor.serialize(); - assert.deepEqual(updatedMobiledoc.sections, [ - [], - [ - [10, 'my-card', {}], - [1, 'p', [ - [[], 0, 'abc'] - ]] - ] - ], 'no paste has occurred'); + assert.postIsSimilar(editor.post, Helpers.postAbstract.build( + ({post, cardSection, markupSection, marker}) => { + return post([ + cardSection('my-card'), + markupSection('p', [marker('abc')]) + ]); + }), 'no paste has occurred'); }); // see https://github.com/bustlelabs/mobiledoc-kit/issues/249 diff --git a/tests/acceptance/editor-sections-test.js b/tests/acceptance/editor-sections-test.js index 713a4dbc0..9e6c9952a 100644 --- a/tests/acceptance/editor-sections-test.js +++ b/tests/acceptance/editor-sections-test.js @@ -1,6 +1,6 @@ import { Editor } from 'mobiledoc-kit'; import Helpers from '../test-helpers'; -import { MOBILEDOC_VERSION } from 'mobiledoc-kit/renderers/mobiledoc'; +import { MOBILEDOC_VERSION } from 'mobiledoc-kit/renderers/mobiledoc/0-2'; import { NO_BREAK_SPACE } from 'mobiledoc-kit/renderers/editor-dom'; const { test, module } = Helpers; diff --git a/tests/acceptance/editor-selections-test.js b/tests/acceptance/editor-selections-test.js index 95b99a730..f944091a9 100644 --- a/tests/acceptance/editor-selections-test.js +++ b/tests/acceptance/editor-selections-test.js @@ -1,6 +1,6 @@ import { Editor } from 'mobiledoc-kit'; import Helpers from '../test-helpers'; -import { MOBILEDOC_VERSION } from 'mobiledoc-kit/renderers/mobiledoc'; +import { MOBILEDOC_VERSION } from 'mobiledoc-kit/renderers/mobiledoc/0-2'; const { test, module } = Helpers; diff --git a/tests/unit/editor/editor-test.js b/tests/unit/editor/editor-test.js index 4633b0f9e..2757b7884 100644 --- a/tests/unit/editor/editor-test.js +++ b/tests/unit/editor/editor-test.js @@ -1,7 +1,7 @@ import Editor from 'mobiledoc-kit/editor/editor'; import { EDITOR_ELEMENT_CLASS_NAME } from 'mobiledoc-kit/editor/editor'; import { normalizeTagName } from 'mobiledoc-kit/utils/dom-utils'; -import { MOBILEDOC_VERSION } from 'mobiledoc-kit/renderers/mobiledoc'; +import { MOBILEDOC_VERSION } from 'mobiledoc-kit/renderers/mobiledoc/0-2'; import Range from 'mobiledoc-kit/utils/cursor/range'; import Helpers from '../../test-helpers'; @@ -139,17 +139,9 @@ test('editor fires update event', (assert) => { }); test('editor parses and renders mobiledoc format', (assert) => { - const mobiledoc = { - version: MOBILEDOC_VERSION, - sections: [ - [], - [ - [1, normalizeTagName('p'), [ - [[], 0, 'hello world'] - ]] - ] - ] - }; + const mobiledoc = Helpers.mobiledoc.build(({post, markupSection, marker}) => { + return post([markupSection('p', [marker('hello world')])]); + }); editorElement.innerHTML = '

something here

'; editor = new Editor({mobiledoc}); editor.render(editorElement); diff --git a/tests/unit/parsers/mobiledoc-test.js b/tests/unit/parsers/mobiledoc-test.js index 660f5b7e1..7bebef607 100644 --- a/tests/unit/parsers/mobiledoc-test.js +++ b/tests/unit/parsers/mobiledoc-test.js @@ -1,5 +1,5 @@ import mobiledocParsers from 'mobiledoc-kit/parsers/mobiledoc'; -import { MOBILEDOC_VERSION } from 'mobiledoc-kit/renderers/mobiledoc'; +import { MOBILEDOC_VERSION } from 'mobiledoc-kit/renderers/mobiledoc/0-2'; import PostNodeBuilder from 'mobiledoc-kit/models/post-node-builder'; import Helpers from '../../test-helpers'; diff --git a/tests/unit/renderers/mobiledoc-test.js b/tests/unit/renderers/mobiledoc-test.js index 5ee7900fe..347980902 100644 --- a/tests/unit/renderers/mobiledoc-test.js +++ b/tests/unit/renderers/mobiledoc-test.js @@ -14,6 +14,9 @@ test('renders a blank post', (assert) => { let mobiledoc = render(post); assert.deepEqual(mobiledoc, { version: MOBILEDOC_VERSION, - sections: [[], []] + atoms: [], + cards: [], + markups: [], + sections: [] }); });