UNPKG

quill-delta-to-html

Version:
93 lines (86 loc) 3.08 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); }); }); }); });