Annotation of kupu/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>