diff --git a/lib/renderer-factory.js b/lib/renderer-factory.js index 9a6dde6..aa844e3 100644 --- a/lib/renderer-factory.js +++ b/lib/renderer-factory.js @@ -3,7 +3,8 @@ import Renderer_0_2, { } from './renderers/0-2'; import Renderer_0_3, { MOBILEDOC_VERSION_0_3, - MOBILEDOC_VERSION_0_3_1 + MOBILEDOC_VERSION_0_3_1, + MOBILEDOC_VERSION_0_3_2 } from './renderers/0-3'; import RENDER_TYPE from './utils/render-type'; /** @@ -64,6 +65,7 @@ export default class RendererFactory { case null: case MOBILEDOC_VERSION_0_3: case MOBILEDOC_VERSION_0_3_1: + case MOBILEDOC_VERSION_0_3_2: return new Renderer_0_3(mobiledoc, this.state).render(); default: throw new Error(`Unexpected Mobiledoc version "${version}"`); diff --git a/lib/renderers/0-3.js b/lib/renderers/0-3.js index 8c9105f..2ccb80c 100644 --- a/lib/renderers/0-3.js +++ b/lib/renderers/0-3.js @@ -24,12 +24,13 @@ import { export const MOBILEDOC_VERSION_0_3 = '0.3.0'; export const MOBILEDOC_VERSION_0_3_1 = '0.3.1'; -export const MOBILEDOC_VERSION = MOBILEDOC_VERSION_0_3_1; +export const MOBILEDOC_VERSION_0_3_2 = '0.3.2'; function validateVersion(version) { if ( version !== MOBILEDOC_VERSION_0_3 && - version !== MOBILEDOC_VERSION_0_3_1 + version !== MOBILEDOC_VERSION_0_3_1 && + version !== MOBILEDOC_VERSION_0_3_2 ) { throw new Error(`Unexpected Mobiledoc version "${version}"`); } diff --git a/package.json b/package.json index 46487af..7e1972f 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "description": "Renders mobiledoc input to text (string) output", "main": "dist/commonjs/mobiledoc-text-renderer/index.js", "scripts": { + "start": "broccoli serve", "test": "testem ci", "build": "rm -rf dist/ && broccoli build dist" }, diff --git a/tests/unit/renderers/0-3-test.js b/tests/unit/renderers/0-3-test.js index 4e9bf01..4522ab5 100644 --- a/tests/unit/renderers/0-3-test.js +++ b/tests/unit/renderers/0-3-test.js @@ -16,6 +16,7 @@ import { const { test, module } = QUnit; const MOBILEDOC_VERSION_0_3= '0.3.0'; const MOBILEDOC_VERSION_0_3_1 = '0.3.1'; +const MOBILEDOC_VERSION_0_3_2 = '0.3.2'; let renderer; module('Unit: Mobiledoc Text Renderer - 0.3', { @@ -71,6 +72,20 @@ test('renders a mobiledoc 0.3.1 without markers with aside', (assert) => { 'hello world'); }); +test('renders a mobiledoc 0.3.2', (assert) => { + let mobiledoc = { + version: MOBILEDOC_VERSION_0_3_2, + atoms: [], + cards: [], + markups: [], + sections: [] + }; + let {result: rendered} = renderer.render(mobiledoc); + + assert.equal(rendered, + ''); +}); + test('renders a mobiledoc with simple (no attributes) marker', (assert) => { let mobiledoc = { version: MOBILEDOC_VERSION_0_3, @@ -638,3 +653,26 @@ test('rendering unknown atom uses unknownAtomHandler', (assert) => { renderer = new Renderer({atoms: [], unknownAtomHandler, cardOptions}); renderer.render(mobiledoc); }); + +test('renders a mobiledoc 0.3.2 with attributes', (assert) => { + let mobiledoc = { + version: MOBILEDOC_VERSION_0_3_2, + atoms: [], + cards: [], + markups: [], + sections: [ + [ + MARKUP_SECTION_TYPE, + 'P', + [ + [0, [], 0, "Simple aligned example"] + ], + ['data-md-text-align', 'center'] + ] + ] + }; + let {result: rendered} = renderer.render(mobiledoc); + + assert.equal(rendered, + 'Simple aligned example'); +});