UNPKG

quill-delta-to-html

Version:
80 lines (68 loc) 3.26 kB
import 'mocha'; import * as assert from 'assert'; import {DeltaInsertOp} from './../src/DeltaInsertOp'; import {InsertDataQuill} from './../src/InsertData'; import { InsertOpsConverter } from "./../src/InsertOpsConverter"; var data = [ {"ops":[ {"insert":"This "}, {"attributes":{"font":"monospace"},"insert":"is"}, {"insert":" a "},{"attributes":{"size":"large"},"insert":"test"}, {"insert":" "}, {"attributes":{"italic":true,"bold":true},"insert":"data"}, {"insert":" "}, {"attributes":{"underline":true,"strike":true},"insert":"that"}, {"insert":" is "},{"attributes":{"color":"#e60000"},"insert":"will"}, {"insert":" "},{"attributes":{"background":"#ffebcc"},"insert":"test"}, {"insert":" "},{"attributes":{"script":"sub"},"insert":"the"}, {"insert":" "},{"attributes":{"script":"super"},"insert":"rendering"}, {"insert":" of "},{"attributes":{"link":"yahoo"},"insert":"inline"}, {"insert":" "}, {"insert":{"formula":"x=data"}}, {"insert":" formats.\n"} ], html:[ '<p>','This ','<span class="noz-font-monospace">is</span>', ' a ', '<span class="noz-size-large">test</span>',' ', '<strong><em>data</em></strong>',' ', '<s><u>that</u></s>', ' is ', '<span style="color:#e60000">will</span>', ' ', '<span style="background-color:#ffebcc">test</span>', ' ', '<sub>the</sub>',' ', '<sup>rendering</sup>',' of ', '<a href="yahoo">inline</a>',' ','<span class="noz-formula">x=data</span>', ' formats.<br />' ].join('') } ] describe('InsertOpsConverter', function () { describe('#convert()', function () { it('should transform raw delta ops to DeltaInsertOp[]', function () { var objs = InsertOpsConverter.convert(data[0].ops); assert.equal(objs[0] instanceof DeltaInsertOp, true); assert.equal(objs[objs.length -1] instanceof DeltaInsertOp, true); assert.deepEqual(InsertOpsConverter.convert(null), []); assert.deepEqual(InsertOpsConverter.convert([{insert:''}]), []); assert.deepEqual(InsertOpsConverter.convert([{insert:{cake: ''}}]), [ {insert: {type: 'cake',value: ''}, attributes: {}} ]); assert.deepEqual( InsertOpsConverter.convert([{"insert": 2}]), [] ); //console.log(objs); }); }); describe('#convertInsertVal()', function () { it('should convert raw .insert value to valid TInsert or null', function () { [null, undefined, 3, {}].forEach((v) => { var act = InsertOpsConverter.convertInsertVal(v); assert.equal(act, null); }); ["fdsf", {image: 'ff'}, {video: ''}, {formula: ''}].forEach((v) => { var act = InsertOpsConverter.convertInsertVal(v); assert.notEqual(act, null); assert.ok(act instanceof InsertDataQuill); }); }); }); });