| 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="unittest.js" type="text/javascript"></script> |
|---|
| 9 |
<script src="../src/effects.js" type="text/javascript"></script> |
|---|
| 10 |
<script src="../src/dragdrop.js" type="text/javascript"></script> |
|---|
| 11 |
<script src="../src/controls.js" type="text/javascript"></script> |
|---|
| 12 |
</head> |
|---|
| 13 |
<body> |
|---|
| 14 |
<h1>script.aculo.us Unit test file</h1> |
|---|
| 15 |
<p> |
|---|
| 16 |
Tests for the Ajax.InPlaceEditor. |
|---|
| 17 |
</p> |
|---|
| 18 |
|
|---|
| 19 |
|
|---|
| 20 |
<pre id="testlog"> </pre> |
|---|
| 21 |
|
|---|
| 22 |
<h1 id="tobeedited">To be edited</h1> |
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 |
<script type="text/javascript" language="javascript" charset="utf-8"> |
|---|
| 26 |
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 |
Test.Unit.Assertions.prototype.assertEqual = Test.Unit.Assertions.prototype.assert_equal; |
|---|
| 30 |
|
|---|
| 31 |
Test.Unit.Assertions.prototype.assertHidden = function(element) { |
|---|
| 32 |
this.assertEqual("none", element.style.display); |
|---|
| 33 |
}; |
|---|
| 34 |
|
|---|
| 35 |
Test.Unit.Assertions.prototype.assertNotNull = function(object) { |
|---|
| 36 |
this.assert(object != null); |
|---|
| 37 |
}; |
|---|
| 38 |
|
|---|
| 39 |
Test.Unit.Assertions.prototype.assertNotEqual = function(notExpected, actual) { |
|---|
| 40 |
this.assert(!(notExpected == actual)); |
|---|
| 41 |
}; |
|---|
| 42 |
|
|---|
| 43 |
Test.Unit.Assertions.prototype.assertNull = Test.Unit.Assertions.prototype.assert_null; |
|---|
| 44 |
|
|---|
| 45 |
Test.Unit.Assertions.prototype.assertVisible = function(element) { |
|---|
| 46 |
if(element == document) return; |
|---|
| 47 |
this.assertNotNull(element); |
|---|
| 48 |
if (element.style) { |
|---|
| 49 |
|
|---|
| 50 |
this.assertNotEqual("none", element.style.display); |
|---|
| 51 |
} |
|---|
| 52 |
this.assertVisible(element.parentNode); |
|---|
| 53 |
}; |
|---|
| 54 |
|
|---|
| 55 |
Event.simulateEvent = function(element, eventName) { |
|---|
| 56 |
var oEvent = document.createEvent("MouseEvents"); |
|---|
| 57 |
oEvent.initMouseEvent(eventName,true,true,window,1,1,1,1,1,false,false,false,false,0,$(element)); |
|---|
| 58 |
$(element).dispatchEvent(oEvent); |
|---|
| 59 |
}; |
|---|
| 60 |
|
|---|
| 61 |
new Test.Unit.Runner({ |
|---|
| 62 |
|
|---|
| 63 |
test_InPlaceEditor: function() { with(this) { |
|---|
| 64 |
inPlaceEditor = new Ajax.InPlaceEditor($('tobeedited'), '_inplaceeditor_result.html'); |
|---|
| 65 |
|
|---|
| 66 |
Event.simulateEvent('tobeedited','mouseover'); |
|---|
| 67 |
assertEqual("rgb(238, 238, 238)", Element.getStyle('tobeedited','background-color')); |
|---|
| 68 |
|
|---|
| 69 |
Event.simulateEvent('tobeedited','mouseout'); |
|---|
| 70 |
assertEqual("transparent", Element.getStyle('tobeedited','background-color')); |
|---|
| 71 |
|
|---|
| 72 |
Event.simulateEvent('tobeedited','mouseover'); |
|---|
| 73 |
Event.simulateEvent('tobeedited','click'); |
|---|
| 74 |
assertHidden($('tobeedited')); |
|---|
| 75 |
assertNotNull(document.forms[0]); |
|---|
| 76 |
assertEqual("cancel", document.forms[0].lastChild.innerHTML); |
|---|
| 77 |
assertVisible(document.forms[0]); |
|---|
| 78 |
|
|---|
| 79 |
Event.simulateEvent(document.forms[0].lastChild,'click'); |
|---|
| 80 |
assertNull(document.forms[0]); |
|---|
| 81 |
assertVisible($('tobeedited')); |
|---|
| 82 |
assertEqual("transparent", Element.getStyle('tobeedited','background-color')); |
|---|
| 83 |
|
|---|
| 84 |
Event.simulateEvent('tobeedited','mouseover'); |
|---|
| 85 |
Event.simulateEvent('tobeedited','click'); |
|---|
| 86 |
|
|---|
| 87 |
assertEqual("INPUT", document.forms[0].firstChild.tagName); |
|---|
| 88 |
assertEqual("To be edited", document.forms[0].firstChild.value); |
|---|
| 89 |
assertEqual("INPUT", document.forms[0].childNodes[1].tagName); |
|---|
| 90 |
assertEqual("submit", document.forms[0].childNodes[1].type); |
|---|
| 91 |
assertEqual("To be edited", document.forms[0].firstChild.value); |
|---|
| 92 |
|
|---|
| 93 |
Event.simulateEvent(document.forms[0].childNodes[1],'click'); |
|---|
| 94 |
assertVisible($('tobeedited')); |
|---|
| 95 |
assertEqual("Saving...", $('tobeedited').innerHTML); |
|---|
| 96 |
assertEqual("transparent", Element.getStyle('tobeedited','background-color')); |
|---|
| 97 |
|
|---|
| 98 |
|
|---|
| 99 |
setTimeout(function() { |
|---|
| 100 |
assertEqual("Server received: To be edited", $('tobeedited').innerHTML); |
|---|
| 101 |
assertNull(document.forms[0]); |
|---|
| 102 |
assertVisible($('tobeedited')); |
|---|
| 103 |
assertEqual("transparent", Element.getStyle('tobeedited','background-color')); |
|---|
| 104 |
}, 1000); |
|---|
| 105 |
}} |
|---|
| 106 |
}, "testlog"); |
|---|
| 107 |
|
|---|
| 108 |
</script> |
|---|
| 109 |
</body> |
|---|
| 110 |
</html> |
|---|