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

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/tests/mochitest/ajax/scriptaculous/test/unit/dragdrop_test.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,131 @@
     1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     1.5 +        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     1.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
     1.7 +<head>
     1.8 +  <title>script.aculo.us Unit test file</title>
     1.9 +  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    1.10 +  <script src="../../lib/prototype.js" type="text/javascript"></script>
    1.11 +  <script src="../../src/scriptaculous.js" type="text/javascript"></script>
    1.12 +  <script src="../../src/unittest.js" type="text/javascript"></script>
    1.13 +  <link rel="stylesheet" href="../test.css" type="text/css" />
    1.14 +  <style type="text/css" media="screen">
    1.15 +  /* <![CDATA[ */
    1.16 +    #div_absolute_test { position: absolute }
    1.17 +  /* ]]> */
    1.18 +  </style>
    1.19 +  
    1.20 +</head>
    1.21 +<body>
    1.22 +<h1>script.aculo.us Unit test file</h1>
    1.23 +<p>
    1.24 +  Test of drag &amp; drop functions in dragdrop.js
    1.25 +</p>
    1.26 +
    1.27 +<!-- Log output -->
    1.28 +<div id="testlog"> </div>
    1.29 +
    1.30 +<p id="p_test">p_test</p>
    1.31 +<p id="p_test2">p_test2</p>
    1.32 +<p id="p_test3">p_test3</p>
    1.33 +<img id="img_test" src="icon.png" alt="img_text"/>
    1.34 +<div id="droppable_test">droppable_test</div>
    1.35 +
    1.36 +<div id="div_test">div_test</div>
    1.37 +<div id="div_absolute_test">div_absolute_test</div>
    1.38 +<div id="div_absolute_inline_test" style="position:absolute">div_absolute_inline_test</div>
    1.39 +
    1.40 +<div id="droppable_container">
    1.41 +  <div id="d1">droppable_test</div>
    1.42 +  <div id="d2">droppable_test</div>
    1.43 +</div>
    1.44 +
    1.45 +<div id="droppable_container_2">
    1.46 +  <div id="d3">droppable_test</div>
    1.47 +</div>
    1.48 +
    1.49 +<!-- Tests follow -->
    1.50 +<script type="text/javascript" language="javascript" charset="utf-8">
    1.51 +// <![CDATA[
    1.52 +
    1.53 +  new Test.Unit.Runner({
    1.54 +    
    1.55 +    testDraggableBasics: function() { with(this) {
    1.56 +      var d = new Draggable('p_test');
    1.57 +      assertInstanceOf(Draggable, d);
    1.58 +    }},
    1.59 +
    1.60 +    testDraggableStartEffect: function() { with(this) {
    1.61 +      var d = new Draggable('p_test2');
    1.62 +      assert(d.options.starteffect, 'There should be a default start effect.');
    1.63 +      d = new Draggable('p_test3', { endeffect: Prototype.EmptyFunction });
    1.64 +      assert(undefined === d.options.startEffect, 'There should be no default start effect.');
    1.65 +    }},
    1.66 +    
    1.67 +    testAutoPositioning: function() { with(this) {
    1.68 +      assertEqual('static', Element.getStyle('div_test','position'));
    1.69 +      new Draggable('div_test');
    1.70 +      new Draggable('div_absolute_test');
    1.71 +      new Draggable('div_absolute_inline_test');
    1.72 +      assertEqual('relative', Element.getStyle('div_test','position'));
    1.73 +      assertEqual('absolute', Element.getStyle('div_absolute_test','position'));
    1.74 +      assertEqual('absolute', Element.getStyle('div_absolute_inline_test','position'));
    1.75 +    }},
    1.76 +    
    1.77 +    testDroppbalesBasics: function() { with(this) {
    1.78 +      assertEqual(0, Droppables.drops.length);
    1.79 +      assertEqual('static', Element.getStyle('droppable_test','position'));
    1.80 +      
    1.81 +      Droppables.add('droppable_test');
    1.82 +      assertEqual(1, Droppables.drops.length);
    1.83 +      assertEqual('relative', Element.getStyle('droppable_test','position'));
    1.84 +      
    1.85 +      Droppables.remove('droppable_test');
    1.86 +      assertEqual(0, Droppables.drops.length);
    1.87 +      
    1.88 +      // accept option should take strings or array of strings
    1.89 +      Droppables.add('droppable_test',{accept:'document'});
    1.90 +      assertEqual(['document'].inspect(), Droppables.drops[0].accept.inspect());
    1.91 +      Droppables.remove('droppable_test');
    1.92 +      
    1.93 +      Droppables.add('droppable_test',{accept:['document','image']});
    1.94 +      assertEqual(['document','image'].inspect(), Droppables.drops[0].accept.inspect());
    1.95 +      Droppables.remove('droppable_test');
    1.96 +    }},
    1.97 +    
    1.98 +    testDroppableContainment: function() { with(this) {
    1.99 +      // Droppable containers should be cached
   1.100 +      Droppables.add('droppable_test', {
   1.101 +        containment:'droppable_container' });
   1.102 +      assertEqual(1, Droppables.drops[0]._containers.length);
   1.103 +      assertEqual($('droppable_container'), Droppables.drops[0]._containers[0]);
   1.104 +      assert(Droppables.isContained($('d1'), Droppables.drops[0]));
   1.105 +      assert(Droppables.isContained($('d2'), Droppables.drops[0]));
   1.106 +      assert(!Droppables.isContained($('d3'), Droppables.drops[0]));
   1.107 +      Droppables.remove('droppable_test');
   1.108 +      
   1.109 +      Droppables.add('droppable_test', {
   1.110 +        containment:['droppable_container','droppable_container_2'] });
   1.111 +      assertEqual(2,  Droppables.drops[0]._containers.length);
   1.112 +      assertEqual($('droppable_container'), Droppables.drops[0]._containers[0]);
   1.113 +      assertEqual($('droppable_container_2'), Droppables.drops[0]._containers[1]);
   1.114 +      assert(Droppables.isContained($('d1'), Droppables.drops[0]));
   1.115 +      assert(Droppables.isContained($('d2'), Droppables.drops[0]));
   1.116 +      assert(Droppables.isContained($('d3'), Droppables.drops[0]));
   1.117 +      Droppables.remove('droppable_test');
   1.118 +    }},
   1.119 +    
   1.120 +    testDroppablesIsAffected: function() { with(this) {
   1.121 +      Droppables.add('droppable_test');
   1.122 +      
   1.123 +      Position.prepare();
   1.124 +      assert(!Droppables.isAffected([-10, -10], null, Droppables.drops[0]));
   1.125 +      
   1.126 +      var p = Position.page($('droppable_test'));
   1.127 +      assert(Droppables.isAffected(p, null, Droppables.drops[0]));
   1.128 +    }}
   1.129 +    
   1.130 +  }, "testlog");
   1.131 +// ]]>
   1.132 +</script>
   1.133 +</body>
   1.134 +</html>

mercurial