[ Index ]
 

Code source de Kupu-1.3.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/tests/ -> test_plone.js (source)

   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 15966 2005-08-11 15:16:18Z duncan $
  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      this.testSetTextStyleTable = function() {
 110          var data = '<table><tbody><tr><td>test</td></tr></tbody></table>';
 111          // select   ................es...................
 112          var expected = '<table><tbody><tr><td><div class="te st">test</div></td></tr></tbody></table>';
 113          var withheader = '<table><tbody><tr><th>test</th></tr></tbody></table>';
 114          this.body.innerHTML = data;
 115          var idx = _SARISSA_IS_IE ? 2 : 1;
 116          this._setSelection(idx, null, idx+2, null, 'es');
 117          this.ui.setTextStyle('div|te st'); // Space in class forces IE to put it in quotes!
 118          this.assertEquals(this._cleanHtml(this.body.innerHTML), expected);
 119          this._setSelection(idx, null, idx+2, null, 'es');
 120          this.ui.setTextStyle('td');
 121          this.assertEquals(this._cleanHtml(this.body.innerHTML), data);
 122          this.ui.setTextStyle('th');
 123          this.assertEquals(this._cleanHtml(this.body.innerHTML), withheader);
 124      }
 125  }
 126  
 127  KupuPloneTestCase.prototype = new SelectionTestCase;


Généré le : Sun Feb 25 15:30:41 2007 par Balluche grâce à PHPXref 0.7