ce2dcccf86
- Modified the original tests so TinyMCE can be loaded from /src/wp-includes/js/tinymce. - Added "WP" option to the UI to select only tests relevant to our integration (excludes most of the default plugins tests). - Added tests for obsolete HTML elements and attributes (html4 back-compat). See #27014. git-svn-id: https://develop.svn.wordpress.org/trunk@27155 602fd350-edb4-49c9-b593-d223f7449a82
175 lines
4.7 KiB
HTML
175 lines
4.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>tinymce.html.Writer tests</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-git.css" type="text/css" />
|
|
<script src="http://code.jquery.com/qunit/qunit-git.js"></script>
|
|
<script src="../../js/qunit/reporter.js"></script>
|
|
<script src="../../js/utils.js"></script>
|
|
<script src="../../js/tinymce_loader.js"></script>
|
|
<script>
|
|
module("tinymce.html.Writer");
|
|
|
|
QUnit.config.reorder = false;
|
|
|
|
test('Comment', function() {
|
|
expect(2);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.comment('text');
|
|
equal(writer.getContent(), '<!--text-->');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.comment('');
|
|
equal(writer.getContent(), '<!---->');
|
|
});
|
|
|
|
test('CDATA', function() {
|
|
expect(2);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.cdata('text');
|
|
equal(writer.getContent(), '<![CDATA[text]]>');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.cdata('');
|
|
equal(writer.getContent(), '<![CDATA[]]>');
|
|
});
|
|
|
|
test('PI', function() {
|
|
expect(2);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.pi('xml', 'someval');
|
|
equal(writer.getContent(), '<?xml someval?>');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.pi('xml');
|
|
equal(writer.getContent(), '<?xml?>');
|
|
});
|
|
|
|
test('Doctype', function() {
|
|
expect(2);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.doctype(' text');
|
|
equal(writer.getContent(), '<!DOCTYPE text>');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.doctype('');
|
|
equal(writer.getContent(), '<!DOCTYPE>');
|
|
});
|
|
|
|
test('Text', function() {
|
|
expect(2);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.text('te<xt');
|
|
equal(writer.getContent(), 'te<xt');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.text('');
|
|
equal(writer.getContent(), '');
|
|
});
|
|
|
|
test('Text raw', function() {
|
|
expect(2);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.text('te<xt', true);
|
|
equal(writer.getContent(), 'te<xt');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.text('', true);
|
|
equal(writer.getContent(), '');
|
|
});
|
|
|
|
test('Start', function() {
|
|
expect(5);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.start('b');
|
|
equal(writer.getContent(), '<b>');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.start('b', [{name: 'attr1', value: 'value1'}, {name: 'attr2', value: 'value2'}]);
|
|
equal(writer.getContent(), '<b attr1="value1" attr2="value2">');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.start('b', [{name: 'attr1', value: 'val<"ue1'}]);
|
|
equal(writer.getContent(), '<b attr1="val<"ue1">');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.start('img', [{name: 'attr1', value: 'value1'}, {name: 'attr2', value: 'value2'}], true);
|
|
equal(writer.getContent(), '<img attr1="value1" attr2="value2" />');
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.start('br', null, true);
|
|
equal(writer.getContent(), '<br />');
|
|
});
|
|
|
|
test('End', function() {
|
|
expect(1);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.end('b');
|
|
equal(writer.getContent(), '</b>');
|
|
});
|
|
|
|
test('Indentation', function() {
|
|
expect(2);
|
|
|
|
var writer = new tinymce.html.Writer({indent: true, indent_before: 'p', indent_after:'p'});
|
|
writer.start('p');
|
|
writer.start('span');
|
|
writer.text('a');
|
|
writer.end('span');
|
|
writer.end('p');
|
|
writer.start('p');
|
|
writer.text('a');
|
|
writer.end('p');
|
|
equal(writer.getContent(), '<p><span>a</span></p>\n<p>a</p>');
|
|
|
|
var writer = new tinymce.html.Writer({indent: true, indent_before: 'p', indent_after:'p'});
|
|
writer.start('p');
|
|
writer.text('a');
|
|
writer.end('p');
|
|
equal(writer.getContent(), '<p>a</p>');
|
|
});
|
|
|
|
test('Entities', function() {
|
|
expect(3);
|
|
|
|
var writer = new tinymce.html.Writer();
|
|
writer.start('p', [{name: "title", value: '<>"\'&\u00e5\u00e4\u00f6'}]);
|
|
writer.text('<>"\'&\u00e5\u00e4\u00f6');
|
|
writer.end('p');
|
|
equal(writer.getContent(), '<p title="<>"\'&\u00e5\u00e4\u00f6"><>"\'&\u00e5\u00e4\u00f6</p>');
|
|
|
|
var writer = new tinymce.html.Writer({entity_encoding: 'numeric'});
|
|
writer.start('p', [{name: "title", value: '<>"\'&\u00e5\u00e4\u00f6'}]);
|
|
writer.text('<>"\'&\u00e5\u00e4\u00f6');
|
|
writer.end('p');
|
|
equal(writer.getContent(), '<p title="<>"\'&åäö"><>"\'&åäö</p>');
|
|
|
|
var writer = new tinymce.html.Writer({entity_encoding: 'named'});
|
|
writer.start('p', [{name: "title", value: '<>"\'&\u00e5\u00e4\u00f6'}]);
|
|
writer.text('<>"\'&\u00e5\u00e4\u00f6');
|
|
writer.end('p');
|
|
equal(writer.getContent(), '<p title="<>"\'&åäö"><>"\'&åäö</p>');
|
|
});
|
|
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<h1 id="qunit-header">tinymce.html.Writer tests</h1>
|
|
<h2 id="qunit-banner"></h2>
|
|
<div id="qunit-testrunner-toolbar"></div>
|
|
<h2 id="qunit-userAgent"></h2>
|
|
<ol id="qunit-tests"></ol>
|
|
<div id="content"></div>
|
|
</body>
|
|
</html>
|