dom/tests/mochitest/ajax/scriptaculous/test/unit/dragdrop_test.html

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     2         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
     4 <head>
     5   <title>script.aculo.us Unit test file</title>
     6   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
     7   <script src="../../lib/prototype.js" type="text/javascript"></script>
     8   <script src="../../src/scriptaculous.js" type="text/javascript"></script>
     9   <script src="../../src/unittest.js" type="text/javascript"></script>
    10   <link rel="stylesheet" href="../test.css" type="text/css" />
    11   <style type="text/css" media="screen">
    12   /* <![CDATA[ */
    13     #div_absolute_test { position: absolute }
    14   /* ]]> */
    15   </style>
    17 </head>
    18 <body>
    19 <h1>script.aculo.us Unit test file</h1>
    20 <p>
    21   Test of drag &amp; drop functions in dragdrop.js
    22 </p>
    24 <!-- Log output -->
    25 <div id="testlog"> </div>
    27 <p id="p_test">p_test</p>
    28 <p id="p_test2">p_test2</p>
    29 <p id="p_test3">p_test3</p>
    30 <img id="img_test" src="icon.png" alt="img_text"/>
    31 <div id="droppable_test">droppable_test</div>
    33 <div id="div_test">div_test</div>
    34 <div id="div_absolute_test">div_absolute_test</div>
    35 <div id="div_absolute_inline_test" style="position:absolute">div_absolute_inline_test</div>
    37 <div id="droppable_container">
    38   <div id="d1">droppable_test</div>
    39   <div id="d2">droppable_test</div>
    40 </div>
    42 <div id="droppable_container_2">
    43   <div id="d3">droppable_test</div>
    44 </div>
    46 <!-- Tests follow -->
    47 <script type="text/javascript" language="javascript" charset="utf-8">
    48 // <![CDATA[
    50   new Test.Unit.Runner({
    52     testDraggableBasics: function() { with(this) {
    53       var d = new Draggable('p_test');
    54       assertInstanceOf(Draggable, d);
    55     }},
    57     testDraggableStartEffect: function() { with(this) {
    58       var d = new Draggable('p_test2');
    59       assert(d.options.starteffect, 'There should be a default start effect.');
    60       d = new Draggable('p_test3', { endeffect: Prototype.EmptyFunction });
    61       assert(undefined === d.options.startEffect, 'There should be no default start effect.');
    62     }},
    64     testAutoPositioning: function() { with(this) {
    65       assertEqual('static', Element.getStyle('div_test','position'));
    66       new Draggable('div_test');
    67       new Draggable('div_absolute_test');
    68       new Draggable('div_absolute_inline_test');
    69       assertEqual('relative', Element.getStyle('div_test','position'));
    70       assertEqual('absolute', Element.getStyle('div_absolute_test','position'));
    71       assertEqual('absolute', Element.getStyle('div_absolute_inline_test','position'));
    72     }},
    74     testDroppbalesBasics: function() { with(this) {
    75       assertEqual(0, Droppables.drops.length);
    76       assertEqual('static', Element.getStyle('droppable_test','position'));
    78       Droppables.add('droppable_test');
    79       assertEqual(1, Droppables.drops.length);
    80       assertEqual('relative', Element.getStyle('droppable_test','position'));
    82       Droppables.remove('droppable_test');
    83       assertEqual(0, Droppables.drops.length);
    85       // accept option should take strings or array of strings
    86       Droppables.add('droppable_test',{accept:'document'});
    87       assertEqual(['document'].inspect(), Droppables.drops[0].accept.inspect());
    88       Droppables.remove('droppable_test');
    90       Droppables.add('droppable_test',{accept:['document','image']});
    91       assertEqual(['document','image'].inspect(), Droppables.drops[0].accept.inspect());
    92       Droppables.remove('droppable_test');
    93     }},
    95     testDroppableContainment: function() { with(this) {
    96       // Droppable containers should be cached
    97       Droppables.add('droppable_test', {
    98         containment:'droppable_container' });
    99       assertEqual(1, Droppables.drops[0]._containers.length);
   100       assertEqual($('droppable_container'), Droppables.drops[0]._containers[0]);
   101       assert(Droppables.isContained($('d1'), Droppables.drops[0]));
   102       assert(Droppables.isContained($('d2'), Droppables.drops[0]));
   103       assert(!Droppables.isContained($('d3'), Droppables.drops[0]));
   104       Droppables.remove('droppable_test');
   106       Droppables.add('droppable_test', {
   107         containment:['droppable_container','droppable_container_2'] });
   108       assertEqual(2,  Droppables.drops[0]._containers.length);
   109       assertEqual($('droppable_container'), Droppables.drops[0]._containers[0]);
   110       assertEqual($('droppable_container_2'), Droppables.drops[0]._containers[1]);
   111       assert(Droppables.isContained($('d1'), Droppables.drops[0]));
   112       assert(Droppables.isContained($('d2'), Droppables.drops[0]));
   113       assert(Droppables.isContained($('d3'), Droppables.drops[0]));
   114       Droppables.remove('droppable_test');
   115     }},
   117     testDroppablesIsAffected: function() { with(this) {
   118       Droppables.add('droppable_test');
   120       Position.prepare();
   121       assert(!Droppables.isAffected([-10, -10], null, Droppables.drops[0]));
   123       var p = Position.page($('droppable_test'));
   124       assert(Droppables.isAffected(p, null, Droppables.drops[0]));
   125     }}
   127   }, "testlog");
   128 // ]]>
   129 </script>
   130 </body>
   131 </html>

mercurial