Annotation of kupuMPIWG/tests/test_plone.js, revision 1.1.1.1
1.1 dwinter 1: /*****************************************************************************
2: *
3: * Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
4: *
5: * This software is distributed under the terms of the Kupu
6: * License. See LICENSE.txt for license text. For a list of Kupu
7: * Contributors see CREDITS.txt.
8: *
9: *****************************************************************************/
10:
11: // $Id: test_plone.js 9982 2005-03-21 09:53:57Z yuppie $
12:
13: // Various tests for html -> xhtml processing.
14:
15: function KupuPloneTestCase() {
16: SelectionTestCase.apply(this);
17: this.base_setUp = this.setUp;
18: this.name = 'KupuPloneTestCase';
19:
20: this.incontext = function(s) {
21: return '<html><head><title>test</title></head><body>'+s+'</body></html>';
22: }
23: this.verifyResult = function(actual, expected) {
24: //var expected = this.incontext(exp);
25:
26: if (actual == expected)
27: return;
28:
29: var context = /<html><head><title>test<\/title><\/head><body>(.*)<\/body><\/html>/;
30: if (context.test(actual) && context.test(expected)) {
31: var a = context.exec(actual)[1];
32: var e = context.exec(expected)[1];
33: throw('Assertion failed: ' + a + ' != ' + e);
34: }
35: throw('Assertion failed: ' + actual + ' != ' + expected);
36: }
37:
38: this.setUp = function() {
39: this.base_setUp();
40: this.editor = new KupuEditor(this.kupudoc, {}, null);
41: this.ui = new PloneKupuUI('kupu-tb-styles');
42: this.ui.editor = this.editor;
43: };
44:
45: this.testRelativeLinks1 = function() {
46: var data = '<a href="http://localhost/cms/folder/emptypage#_ftnref1">[1]</a>';
47: var expected = '<a href="#_ftnref1">[1]</a>';
48: var base = 'http://localhost/cms/folder/';
49:
50: var actual = this.editor.makeLinksRelative(data, base);
51: this.verifyResult(actual, expected);
52: }
53:
54: this.testRelativeLinks2 = function() {
55: var data = '<a href="http://localhost/cms/folder/otherdoc#key">[1]</a>';
56: var expected = '<a href="otherdoc#key">[1]</a>';
57: var base = 'http://localhost/cms/folder/';
58:
59: var actual = this.editor.makeLinksRelative(data, base);
60: this.verifyResult(actual, expected);
61: }
62:
63: this.testRelativeLinks3 = function() {
64: var data = '<a href="http://localhost/cms/otherfolder/otherdoc">[1]</a>';
65: var expected = '<a href="../otherfolder/otherdoc">[1]</a>';
66: var base = 'http://localhost/cms/folder/';
67:
68: var actual = this.editor.makeLinksRelative(data, base);
69: this.verifyResult(actual, expected);
70: }
71:
72: this.testRelativeLinks4 = function() {
73: var data = '<a href="http://localhost:9080/plone/Members/admin/art1">[1]</a>';
74: var expected = '<a href="art1">[1]</a>';
75: var base = 'http://localhost:9080/plone/Members/admin/art1';
76:
77: var actual = this.editor.makeLinksRelative(data, base);
78: this.verifyResult(actual, expected);
79: }
80:
81: this.testRelativeLinks5 = function() {
82: var data = '<a href="http://localhost:9080/plone/Members/admin/art1/subitem">[1]</a>';
83: var expected = '<a href="art1/subitem">[1]</a>';
84: var base = 'http://localhost:9080/plone/Members/admin/art1';
85:
86: var actual = this.editor.makeLinksRelative(data, base);
87: this.verifyResult(actual, expected);
88: }
89:
90: this.testRelativeLinks6 = function() {
91: var data = '<a href="http://localhost:9080/plone/Members/admin">[1]</a>';
92: var expected = '<a href=".">[1]</a>';
93: var base = 'http://localhost:9080/plone/Members/admin/art1';
94:
95: var actual = this.editor.makeLinksRelative(data, base);
96: this.verifyResult(actual, expected);
97: }
98:
99: this.testSetTextStyle = function() {
100: var data = '<p>line 1</p><div class="Caption">line 2</div><div class="Caption">line 3</div>';
101: // select .....................................|e 2</div><div class="Caption">line|...
102: var expected = '<p>line 1</p><h2>line 2</h2><h2>line 3</h2>';
103: this.body.innerHTML = data;
104: this._setSelection(10, null, 18, null, 'e 2line');
105: this.ui.setTextStyle('h2');
106: this.assertEquals(this._cleanHtml(this.body.innerHTML), expected);
107: }
108: }
109:
110: KupuPloneTestCase.prototype = new SelectionTestCase;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>