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.

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

mercurial