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 & 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>