koblog/bl-plugins/quill/quill-1.3.6/test/unit/blots/block-embed.js
2018-10-18 19:21:57 +02:00

116 lines
4.5 KiB
JavaScript
Executable file

import Scroll from '../../../blots/scroll';
describe('Block Embed', function() {
it('insert', function() {
let scroll = this.initialize(Scroll, '<p>0123</p>');
scroll.insertAt(2, 'video', '#');
expect(scroll.domNode).toEqualHTML(`
<p>01</p>
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
<p>23</p>
`);
});
it('split newline', function() {
let scroll = this.initialize(Scroll, '<p>0123</p>');
scroll.insertAt(4, 'video', '#');
expect(scroll.domNode).toEqualHTML(`
<p>0123</p>
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
<p><br></p>
`);
});
it('insert end of document', function() {
let scroll = this.initialize(Scroll, '<p>0123</p>');
scroll.insertAt(5, 'video', '#');
expect(scroll.domNode).toEqualHTML(`
<p>0123</p>
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
`);
});
it('insert text before', function() {
let scroll = this.initialize(Scroll, '<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.insertAt(0, 'Test');
expect(scroll.domNode).toEqualHTML(`
<p>Test</p>
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
`);
});
it('insert text after', function() {
let scroll = this.initialize(Scroll, '<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.insertAt(1, 'Test');
expect(scroll.domNode).toEqualHTML(`
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
<p>Test</p>
`);
});
it('insert inline embed before', function() {
let scroll = this.initialize(Scroll, '<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.insertAt(0, 'image', '/assets/favicon.png');
expect(scroll.domNode).toEqualHTML(`
<p><img src="/assets/favicon.png"></p>
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
`);
});
it('insert inline embed after', function() {
let scroll = this.initialize(Scroll, '<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.insertAt(1, 'image', '/assets/favicon.png');
expect(scroll.domNode).toEqualHTML(`
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
<p><img src="/assets/favicon.png"></p>
`);
});
it('insert block embed before', function() {
let scroll = this.initialize(Scroll, '<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.insertAt(0, 'video', '#1');
expect(scroll.domNode).toEqualHTML(`
<iframe src="#1" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
`);
});
it('insert block embed after', function() {
let scroll = this.initialize(Scroll, '<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.insertAt(1, 'video', '#1');
expect(scroll.domNode).toEqualHTML(`
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
<iframe src="#1" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
`);
});
it('insert newline before', function() {
let scroll = this.initialize(Scroll, '<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.insertAt(0, '\n');
scroll.optimize();
expect(scroll.domNode).toEqualHTML(`
<p><br></p>
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
`);
});
it('insert newline after', function() {
let scroll = this.initialize(Scroll, '<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.insertAt(1, '\n');
scroll.optimize();
expect(scroll.domNode).toEqualHTML(`
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
<p><br></p>
`);
});
it('delete preceding newline', function() {
let scroll = this.initialize(Scroll, '<p>0123</p><iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>');
scroll.deleteAt(4, 1);
expect(scroll.domNode).toEqualHTML(`
<p>0123</p>
<iframe src="#" class="ql-video" frameborder="0" allowfullscreen="true"></iframe>
`);
});
});