blob: 0626e16426d937f83317e53d53ce029bfea953c0 [file] [log] [blame]
dojo.registerModulePath("tapestry", "../tapestry");
dojo.require("tapestry.core");
dojo.require("tapestry.test");
dojo.require("tapestry.html");
function test_html_getContentAsString(){
var node = _createTestNode();
var data = tapestry.html.getContentAsString(node).toLowerCase();
jum.assertEquals("<div id=\"testid2\">content</div>", data);
}
function test_html_textarea(){
var node = _createTestNode("textarea", true);
var data = tapestry.html.getContentAsString(node).toLowerCase();
jum.assertEquals("<textarea id=\"testid2\"></textarea>", data);
// cannot test Mozilla's getContentAsString from here...
// only browser based tests will show if this is working
}
function test_html_getElementAsString(){
var node = _createTestNode();
var data = tapestry.html.getElementAsString(node).toLowerCase();
jum.assertEquals("<div id=\"testid\"><div id=\"testid2\">content</div></div>", data);
}
function test_html_processTextareas(){
var initial = "start<textarea id='2' rows=4/>22<input type='text'/><textarea/><div id=1/>";
var expected = "start<textarea id='2' rows=4></textarea>22<input type='text'/><textarea></textarea><div id=1></div>";
jum.assertEquals(expected, tapestry.html._processCompactElements(initial));
jum.assertEquals(expected + expected,
tapestry.html._processCompactElements(initial+initial));
}
function test_html_processResponse(){
var initial = '<div id="editTopic"><form method="post" action="Topics,topicList.$Form.sdirect" id="Form"> '
+'<div style="display:none;" id="Formhidden"><input type="hidden" name="formids" value="topicName,shortDescriptiveText,descriptiveText,If,If_0,updateTopic" /> '
+'<input type="hidden" name="updateParts" value="list" /> <input type="hidden" name="updateParts" value="edit" /> <input type="hidden" name="reservedids" '
+'value="updateParts" /> <input type="hidden" name="submitmode" value="" /> <input type="hidden" name="submitname" value="" /> <input type="hidden" name="If" value="T" /> '
+'<input type="hidden" name="If_0" value="F" /> </div> Make the desired changes to this topic. <fieldset> <div> <label for="topicName" class="required">Topic Name</label> '
+'<input type="text" name="name" value="Uncategorized" id="tName" /> </div> <div> <label for="shortDescriptiveText" class="required">Short Description</label> '
+'<textarea name="shortDescriptiveText" id="shortDescriptiveText" cols="40" rows="4">Information</textarea> </div> <div> <label for="descriptiveText">Additional '
+'Description</label> <textarea name="descriptiveText" id="descriptiveText" cols="40" rows="4"/> </div> <div> <label for="pUrlField" class="required">Home '
+'Url</label> <input type="text" name="pUrlField" value="ba.org" id="pUrlField" size="40" /> Verified </div> <div></div> </fieldset> <div> '
+'<input type="submit" name="uTopic" id="uTopic" value="Save Changes"/> <!--input type="submit" jwcid="cancelTopic@Submit" '
+'listener="listener:doCancel" value="message:label.cancel-changes" async="true"/--></div> </form> </div>';
var expected = '<div id="editTopic"><form method="post" action="Topics,topicList.$Form.sdirect" id="Form"> '
+'<div style="display:none;" id="Formhidden"><input type="hidden" name="formids" value="topicName,shortDescriptiveText,descriptiveText,If,If_0,updateTopic" /> '
+'<input type="hidden" name="updateParts" value="list" /> <input type="hidden" name="updateParts" value="edit" /> <input type="hidden" name="reservedids" '
+'value="updateParts" /> <input type="hidden" name="submitmode" value="" /> <input type="hidden" name="submitname" value="" /> <input type="hidden" name="If" value="T" /> '
+'<input type="hidden" name="If_0" value="F" /> </div> Make the desired changes to this topic. <fieldset> <div> <label for="topicName" class="required">Topic Name</label> '
+'<input type="text" name="name" value="Uncategorized" id="tName" /> </div> <div> <label for="shortDescriptiveText" class="required">Short Description</label> '
+'<textarea name="shortDescriptiveText" id="shortDescriptiveText" cols="40" rows="4">Information</textarea> </div> <div> <label for="descriptiveText">Additional '
+'Description</label> <textarea name="descriptiveText" id="descriptiveText" cols="40" rows="4"></textarea> </div> <div> <label for="pUrlField" class="required">Home '
+'Url</label> <input type="text" name="pUrlField" value="ba.org" id="pUrlField" size="40" /> Verified </div> <div></div> </fieldset> <div> '
+'<input type="submit" name="uTopic" id="uTopic" value="Save Changes"/> <!--input type="submit" jwcid="cancelTopic@Submit" '
+'listener="listener:doCancel" value="message:label.cancel-changes" async="true"/--></div> </form> </div>';
jum.assertEquals(expected, tapestry.html._processCompactElements(initial));
jum.assertEquals(expected + expected,
tapestry.html._processCompactElements(initial+initial));
}
function _createTestNode(element, empty){
var node = document.createElement("div");
node.setAttribute("id", "testid");
if (!element)
element="div";
var node2 = document.createElement(element);
node2.setAttribute("id", "testid2");
if (!empty){
var content = document.createTextNode("content");
node2.appendChild(content);
}
node.appendChild(node2);
return node;
}