Skip to content

Commit

Permalink
TINY-4523 Added test cases for smartpaste/pasteAsText interation with…
Browse files Browse the repository at this point in the history
… images
  • Loading branch information
metricjs committed Dec 18, 2019
1 parent 446b43c commit a98aa4c
Showing 1 changed file with 83 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { Pipeline, Log } from '@ephox/agar';
import { Log, Pipeline } from '@ephox/agar';
import { UnitTest } from '@ephox/bedrock';
import { LegacyUnit, TinyLoader } from '@ephox/mcagar';

import SmartPaste from 'tinymce/plugins/paste/core/SmartPaste';
import Plugin from 'tinymce/plugins/paste/Plugin';
import Theme from 'tinymce/themes/silver/Theme';
Expand Down Expand Up @@ -39,7 +38,7 @@ UnitTest.asynctest('tinymce.plugins.paste.browser.ImagePasteTest', (success, fai
LegacyUnit.equal(SmartPaste.isImageUrl(''), false);
});

suite.test('TestCase-TBA: Paste: smart paste url on selection', function (editor) {
suite.test('TestCase-TBA: Paste: smart paste enabled, paste url on selection', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
Expand All @@ -51,7 +50,7 @@ UnitTest.asynctest('tinymce.plugins.paste.browser.ImagePasteTest', (success, fai
LegacyUnit.equal(editor.undoManager.data.length, 3);
});

suite.test('TestCase-TBA: Paste: smart paste image url', function (editor) {
suite.test('TestCase-TBA: Paste: smart paste enabled, paste image url', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
Expand All @@ -63,7 +62,7 @@ UnitTest.asynctest('tinymce.plugins.paste.browser.ImagePasteTest', (success, fai
LegacyUnit.equal(editor.undoManager.data.length, 3);
});

suite.test('TestCase-TBA: Paste: smart paste option disabled', function (editor) {
suite.test('TestCase-TBA: Paste: smart paste disabled, paste image url', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
Expand All @@ -76,6 +75,85 @@ UnitTest.asynctest('tinymce.plugins.paste.browser.ImagePasteTest', (success, fai
LegacyUnit.equal(editor.undoManager.data.length, 2);
});

suite.test('TestCase-TBA: Paste: smart paste enabled and paste as text enabled, paste image url', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
LegacyUnit.setSelection(editor, 'p', 1);
editor.undoManager.add();
editor.paste_as_text = true;

editor.execCommand('mceInsertClipboardContent', false, { content: 'http://www.site.com/my.jpg' });
LegacyUnit.equal(editor.getContent(), '<p>ahttp://www.site.com/my.jpgbc</p>');
LegacyUnit.equal(editor.undoManager.data.length, 2);
});

suite.test('TestCase-TBA: Paste: smart paste disabled and paste as text enabled, paste image url', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
LegacyUnit.setSelection(editor, 'p', 1);
editor.undoManager.add();
editor.settings.smart_paste = false;
editor.paste_as_text = true;

editor.execCommand('mceInsertClipboardContent', false, { content: 'http://www.site.com/my.jpg' });
LegacyUnit.equal(editor.getContent(), '<p>ahttp://www.site.com/my.jpgbc</p>');
LegacyUnit.equal(editor.undoManager.data.length, 2);
});

suite.test('TestCase-TBA: Paste: smart paste enabled, paste link html', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
LegacyUnit.setSelection(editor, 'p', 1);
editor.undoManager.add();

editor.execCommand('mceInsertClipboardContent', false, { content: '<img src="http://www.site.com/my.jpg" />' });
LegacyUnit.equal(editor.getContent(), '<p>a<img src="http://www.site.com/my.jpg" />bc</p>');
LegacyUnit.equal(editor.undoManager.data.length, 2);
});

suite.test('TestCase-TBA: Paste: smart paste disabled, paste link html', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
LegacyUnit.setSelection(editor, 'p', 1);
editor.undoManager.add();
editor.settings.smart_paste = false;

editor.execCommand('mceInsertClipboardContent', false, { content: '<img src="http://www.site.com/my.jpg" />' });
LegacyUnit.equal(editor.getContent(), '<p>a<img src="http://www.site.com/my.jpg" />bc</p>');
LegacyUnit.equal(editor.undoManager.data.length, 2);
});

suite.test('TestCase-TBA: Paste: smart paste enabled and paste as text enabled, paste link html', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
LegacyUnit.setSelection(editor, 'p', 1);
editor.undoManager.add();
editor.paste_as_text = true;

editor.execCommand('mceInsertClipboardContent', false, { content: '<img src="http://www.site.com/my.jpg" />' });
LegacyUnit.equal(editor.getContent(), '<p>a<img src="http://www.site.com/my.jpg" />bc</p>');
LegacyUnit.equal(editor.undoManager.data.length, 2);
});

suite.test('TestCase-TBA: Paste: smart paste disabled and paste as text enabled, paste link html', function (editor) {
editor.focus();
editor.undoManager.clear();
editor.setContent('<p>abc</p>');
LegacyUnit.setSelection(editor, 'p', 1);
editor.undoManager.add();
editor.settings.smart_paste = false;
editor.paste_as_text = true;

editor.execCommand('mceInsertClipboardContent', false, { content: '<img src="http://www.site.com/my.jpg" />' });
LegacyUnit.equal(editor.getContent(), '<p>a<img src="http://www.site.com/my.jpg" />bc</p>');
LegacyUnit.equal(editor.undoManager.data.length, 2);
});

TinyLoader.setupLight(function (editor, onSuccess, onFailure) {
Pipeline.async({}, Log.steps('TBA', 'Paste: Test smart paste', suite.toSteps(editor)), onSuccess, onFailure);
}, {
Expand Down

0 comments on commit a98aa4c

Please sign in to comment.