File:  [Repository] / kupu / tests / test_plone.js
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Thu Sep 15 13:06:00 2005 UTC (18 years, 8 months ago) by dwinter
Branches: first, MAIN
CVS tags: dwinter, HEAD
modifizierter kupu fuer webpages des instituts

/*****************************************************************************
 *
 * Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
 *
 * This software is distributed under the terms of the Kupu
 * License. See LICENSE.txt for license text. For a list of Kupu
 * Contributors see CREDITS.txt.
 *
 *****************************************************************************/

// $Id: test_plone.js,v 1.1.1.1 2005/09/15 13:06:00 dwinter Exp $

// Various tests for html -> xhtml processing.

function KupuPloneTestCase() {
    SelectionTestCase.apply(this);
    this.base_setUp = this.setUp;
    this.name = 'KupuPloneTestCase';

    this.incontext = function(s) {
        return '<html><head><title>test</title></head><body>'+s+'</body></html>';
    }
    this.verifyResult = function(actual, expected) {
        //var expected = this.incontext(exp);

        if (actual == expected)
            return;

        var context = /test<\/title><\/head><body>(.*)<\/body><\/html>/</span></b>;
        <b><span style="color: #A020F0">if</span></b> (context.test(actual) && context.test(expected)) {
            <b><span style="color: #A020F0">var</span></b> a = context.exec(actual)[1];
            <b><span style="color: #A020F0">var</span></b> e = context.exec(expected)[1];
            <b><span style="color: #A020F0">throw</span></b>(<b><span style="color: #BC8F8F">'Assertion failed: '</span></b> + a + <b><span style="color: #BC8F8F">' != '</span></b> + e);
        }
        <b><span style="color: #A020F0">throw</span></b>(<b><span style="color: #BC8F8F">'Assertion failed: '</span></b> + actual + <b><span style="color: #BC8F8F">' != '</span></b> + expected);
    }

    <b><span style="color: #A020F0">this</span></b>.setUp = <b><span style="color: #A020F0">function</span></b>() {
        <b><span style="color: #A020F0">this</span></b>.base_setUp();
        <b><span style="color: #A020F0">this</span></b>.editor = <b><span style="color: #A020F0">new</span></b> KupuEditor(<b><span style="color: #A020F0">this</span></b>.kupudoc, {}, <b><span style="color: #A020F0">null</span></b>);
        <b><span style="color: #A020F0">this</span></b>.ui = <b><span style="color: #A020F0">new</span></b> PloneKupuUI(<b><span style="color: #BC8F8F">'kupu-tb-styles'</span></b>);
        <b><span style="color: #A020F0">this</span></b>.ui.editor = <b><span style="color: #A020F0">this</span></b>.editor;
    };

    <b><span style="color: #A020F0">this</span></b>.testRelativeLinks1 = <b><span style="color: #A020F0">function</span></b>() {
        <b><span style="color: #A020F0">var</span></b> data =  <b><span style="color: #BC8F8F">'<a href="http://localhost/cms/folder/emptypage#_ftnref1">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> expected = <b><span style="color: #BC8F8F">'<a href="#_ftnref1">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> base = <b><span style="color: #BC8F8F">'http://localhost/cms/folder/'</span></b>;

        <b><span style="color: #A020F0">var</span></b> actual = <b><span style="color: #A020F0">this</span></b>.editor.makeLinksRelative(data, base);
        <b><span style="color: #A020F0">this</span></b>.verifyResult(actual, expected);
    }

    <b><span style="color: #A020F0">this</span></b>.testRelativeLinks2 = <b><span style="color: #A020F0">function</span></b>() {
        <b><span style="color: #A020F0">var</span></b> data =  <b><span style="color: #BC8F8F">'<a href="http://localhost/cms/folder/otherdoc#key">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> expected = <b><span style="color: #BC8F8F">'<a href="otherdoc#key">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> base = <b><span style="color: #BC8F8F">'http://localhost/cms/folder/'</span></b>;

        <b><span style="color: #A020F0">var</span></b> actual = <b><span style="color: #A020F0">this</span></b>.editor.makeLinksRelative(data, base);
        <b><span style="color: #A020F0">this</span></b>.verifyResult(actual, expected);
    }

    <b><span style="color: #A020F0">this</span></b>.testRelativeLinks3 = <b><span style="color: #A020F0">function</span></b>() {
        <b><span style="color: #A020F0">var</span></b> data =  <b><span style="color: #BC8F8F">'<a href="http://localhost/cms/otherfolder/otherdoc">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> expected = <b><span style="color: #BC8F8F">'<a href="../otherfolder/otherdoc">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> base = <b><span style="color: #BC8F8F">'http://localhost/cms/folder/'</span></b>;

        <b><span style="color: #A020F0">var</span></b> actual = <b><span style="color: #A020F0">this</span></b>.editor.makeLinksRelative(data, base);
        <b><span style="color: #A020F0">this</span></b>.verifyResult(actual, expected);
    }

    <b><span style="color: #A020F0">this</span></b>.testRelativeLinks4 = <b><span style="color: #A020F0">function</span></b>() {
        <b><span style="color: #A020F0">var</span></b> data =  <b><span style="color: #BC8F8F">'<a href="http://localhost:9080/plone/Members/admin/art1">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> expected = <b><span style="color: #BC8F8F">'<a href="art1">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> base = <b><span style="color: #BC8F8F">'http://localhost:9080/plone/Members/admin/art1'</span></b>;

        <b><span style="color: #A020F0">var</span></b> actual = <b><span style="color: #A020F0">this</span></b>.editor.makeLinksRelative(data, base);
        <b><span style="color: #A020F0">this</span></b>.verifyResult(actual, expected);
    }

    <b><span style="color: #A020F0">this</span></b>.testRelativeLinks5 = <b><span style="color: #A020F0">function</span></b>() {
        <b><span style="color: #A020F0">var</span></b> data =  <b><span style="color: #BC8F8F">'<a href="http://localhost:9080/plone/Members/admin/art1/subitem">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> expected = <b><span style="color: #BC8F8F">'<a href="art1/subitem">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> base = <b><span style="color: #BC8F8F">'http://localhost:9080/plone/Members/admin/art1'</span></b>;

        <b><span style="color: #A020F0">var</span></b> actual = <b><span style="color: #A020F0">this</span></b>.editor.makeLinksRelative(data, base);
        <b><span style="color: #A020F0">this</span></b>.verifyResult(actual, expected);
    }

    <b><span style="color: #A020F0">this</span></b>.testRelativeLinks6 = <b><span style="color: #A020F0">function</span></b>() {
        <b><span style="color: #A020F0">var</span></b> data =  <b><span style="color: #BC8F8F">'<a href="http://localhost:9080/plone/Members/admin">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> expected = <b><span style="color: #BC8F8F">'<a href=".">[1]</a>'</span></b>;
        <b><span style="color: #A020F0">var</span></b> base = <b><span style="color: #BC8F8F">'http://localhost:9080/plone/Members/admin/art1'</span></b>;

        <b><span style="color: #A020F0">var</span></b> actual = <b><span style="color: #A020F0">this</span></b>.editor.makeLinksRelative(data, base);
        <b><span style="color: #A020F0">this</span></b>.verifyResult(actual, expected);
    }

    <b><span style="color: #A020F0">this</span></b>.testSetTextStyle = <b><span style="color: #A020F0">function</span></b>() {
        <b><span style="color: #A020F0">var</span></b> data = <b><span style="color: #BC8F8F">'<p>line 1</p><div class="Caption">line 2</div><div class="Caption">line 3</div>'</span></b>;
        <i><span style="color: #B22222">// select  .....................................|e 2</div><div class="Caption">line|...
</span></i>        <b><span style="color: #A020F0">var</span></b> expected = <b><span style="color: #BC8F8F">'<p>line 1</p><h2>line 2</h2><h2>line 3</h2>'</span></b>;
        <b><span style="color: #A020F0">this</span></b>.body.innerHTML = data;
        <b><span style="color: #A020F0">this</span></b>._setSelection(10, <b><span style="color: #A020F0">null</span></b>, 18, <b><span style="color: #A020F0">null</span></b>, <b><span style="color: #BC8F8F">'e 2line'</span></b>);
        <b><span style="color: #A020F0">this</span></b>.ui.setTextStyle(<b><span style="color: #BC8F8F">'h2'</span></b>);
        <b><span style="color: #A020F0">this</span></b>.assertEquals(<b><span style="color: #A020F0">this</span></b>._cleanHtml(<b><span style="color: #A020F0">this</span></b>.body.innerHTML), expected);
    }
}

KupuPloneTestCase.prototype = <b><span style="color: #A020F0">new</span></b> SelectionTestCase;
</pre>
<hr />
<address><span style="font-size: smaller">FreeBSD-CVSweb <<a href="mailto:freebsd-cvsweb@FreeBSD.org">freebsd-cvsweb@FreeBSD.org</a>></span></address>
</body>
</html>