Skip to content

Commit

Permalink
Add mobiledoc renderer test, fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mixonic committed Jul 9, 2015
1 parent d941d4f commit d82b625
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 34 deletions.
6 changes: 3 additions & 3 deletions tests/acceptance/basic-editor-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const { test, module } = QUnit;

let fixture, editor, editorElement;

module('acceptance: basic editor', {
module('Acceptance: basic editor', {
beforeEach() {
fixture = document.getElementById('qunit-fixture');
editorElement = document.createElement('div');
Expand All @@ -21,7 +21,7 @@ module('acceptance: basic editor', {
test('sets element as contenteditable', (assert) => {
let innerHTML = `<p>Hello</p>`;
editorElement.innerHTML = innerHTML;
editor = new Editor('#editor');
editor = new Editor(document.getElementById('editor'));

assert.equal(editorElement.getAttribute('contenteditable'),
'true',
Expand All @@ -33,7 +33,7 @@ test('sets element as contenteditable', (assert) => {
test('editing element changes editor post model', (assert) => {
let innerHTML = `<p>Hello</p>`;
editorElement.innerHTML = innerHTML;
editor = new Editor('#editor');
editor = new Editor(document.getElementById('editor'));

let p = editorElement.querySelector('p');
let textElement = p.firstChild;
Expand Down
1 change: 1 addition & 0 deletions tests/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<script src="./built-amd-tests.js"></script>
<script src="./test-loader/test-loader.js"></script>
<script>
window.QUnit.dump.maxDepth = 15;
var TestLoader = require('ember-cli/test-loader')['default'];
var testLoader = new TestLoader();
testLoader.loadModules();
Expand Down
34 changes: 3 additions & 31 deletions tests/unit/editor-test.js → tests/unit/editor/editor-test.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
/* global QUnit, asyncTest, ok, equal, expect, start */

var fixture = document.getElementById('qunit-fixture');
var editorElement = document.createElement('div');
editorElement.id = 'editor1';
editorElement.className = 'editor';

import { Editor } from 'content-kit-editor';
import Editor from 'content-kit-editor/editor/editor';

const { test } = QUnit;
const { module, test, asyncTest } = window.QUnit;

QUnit.module('Editor', {
module('Unit: Editor', {
setup: function() {
fixture.appendChild(editorElement);
},
Expand All @@ -28,32 +26,6 @@ test('can create an editor via dom node reference from getElementById', function
equal(editor.element, editorElement);
});

test('can create an editor via id selector', function() {
var editor = new Editor('#editor1');
equal(editor.element, editorElement);
});

test('can create an editor via class selector', function() {
var editor = new Editor('.editor');
equal(editor.element, editorElement);
});

test('can recreate an editor on the same element', function() {
var editor = new Editor('#editor1');
ok(editor.element === editorElement);

editor = new Editor('.editor');
equal(editor.element, editorElement);
equal(editor.element.className, 'editor ck-editor');
});

test('creating an editor doesn\'t trash existing class names', function() {
editorElement.className = 'some-class';

var editor = new Editor('.some-class');
equal(editor.element.className, 'some-class ck-editor');
});

test('creating an editor without a class name adds appropriate class', function() {
editorElement.className = '';

Expand Down
41 changes: 41 additions & 0 deletions tests/unit/renderers/mobiledoc-test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import MobiledocRenderer from 'content-kit-editor/renderers/mobiledoc';
import { generateBuilder } from 'content-kit-editor/utils/post-builder';

const { module, test } = window.QUnit;
const render = MobiledocRenderer.render;
let builder;


QUnit.module('Unit: Mobiledoc Renderer', {
beforeEach() {
builder = generateBuilder();
}
});

test('renders a blank post', (assert) => {
let post = builder.generatePost();
let mobiledoc = render(post);
assert.deepEqual(mobiledoc, [[], []]);
});

test('renders a post with marker', (assert) => {
let post = builder.generatePost();
let section = builder.generateSection('P');
post.appendSection(section);
section.markers.push(
builder.generateMarker([
builder.generateMarkerType('STRONG')
], 1, 'Hi')
);
let mobiledoc = render(post);
assert.deepEqual(mobiledoc, [
[
['STRONG']
],
[
[1, 'P', [
[[0], 1, 'Hi']
]]
]
]);
});

0 comments on commit d82b625

Please sign in to comment.