From: <rb...@us...> - 2013-05-05 17:46:21
|
Revision: 8263 http://sourceforge.net/p/htmlunit/code/8263 Author: rbri Date: 2013-05-05 17:46:16 +0000 (Sun, 05 May 2013) Log Message: ----------- test the default value of form input fields added; again some issues found and fixed Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButtonInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlImageInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPasswordInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSubmitInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTextInput2Test.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -65,6 +65,7 @@ // default value for both IE6 and Mozilla 1.7 even if spec says it is unspecified if (getAttribute("value") == ATTRIBUTE_NOT_DEFINED) { setAttribute("value", "on"); + setDefaultValue(ATTRIBUTE_NOT_DEFINED, false); } } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -65,6 +65,7 @@ // default value for both IE6 and Mozilla 1.7 even if spec says it is unspecified if (getAttribute("value") == ATTRIBUTE_NOT_DEFINED) { setAttribute("value", "on"); + setDefaultValue(ATTRIBUTE_NOT_DEFINED, false); } defaultCheckedState_ = hasAttribute("checked"); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButtonInput2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButtonInput2Test.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButtonInput2Test.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -35,6 +35,40 @@ * @throws Exception if the test fails */ @Test + @Alerts({ "-", "-", "-", "-" }) + public void defaultValues() throws Exception { + final String html = "<html><head><title>foo</title>\n" + + "<script>\n" + + " function test() {\n" + + " var input = document.getElementById('button1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + + " input.type = 'button';\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " var builder = document.createElement('div');\n" + + " builder.innerHTML = '<input type=\"button\">';\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = input.cloneNode(false);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + " }\n" + + "</script>\n" + + "</head><body onload='test()'>\n" + + "<form>\n" + + " <input type='button' id='button1'>\n" + + "</form>\n" + + "</body></html>"; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = { "initial-initial", "initial-initial", "newValue-newValue", "newValue-newValue", "newDefault-newDefault", "newDefault-newDefault" }, IE = { "initial-initial", "initial-initial", "newValue-initial", "newValue-initial", Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput2Test.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput2Test.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -614,29 +614,35 @@ * @throws Exception if the test fails */ @Test - @Alerts({ "on", "on", "on", "on" }) - public void defaultDefaultValue() throws Exception { + @Alerts(DEFAULT = { "on-", "on-", "on-", "on-", "on-" }, + IE = { "on-", "on-", "on-", "on-", "on-on" }) + public void defaultValues() throws Exception { final String html = "<html><head><title>foo</title>\n" + "<script>\n" + " function test() {\n" - + " alert(document.getElementById('chkbox').value);\n" + + " var input = document.getElementById('chkbox1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" - + " var input = document.createElement('input');\n" + + " input = document.getElementById('chkbox2');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + " input.type = 'checkbox';\n" - + " alert(input.value);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + " var builder = document.createElement('div');\n" + " builder.innerHTML = '<input type=\"checkbox\">';\n" - + " var input = builder.firstChild;\n" - + " alert(input.value);\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + " input = input.cloneNode(false);\n" - + " alert(input.value);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + " }\n" + "</script>\n" + "</head><body onload='test()'>\n" + "<form>\n" - + " <input type='checkbox' id='chkbox'>\n" + + " <input type='checkbox' id='chkbox1'>\n" + + " <input type='checkbox' id='chkbox2' checked='true'>\n" + "</form>\n" + "</body></html>"; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -306,6 +306,40 @@ * @throws Exception if the test fails */ @Test + @Alerts({ "-", "-", "-", "-" }) + public void defaultValues() throws Exception { + final String html = "<html><head><title>foo</title>\n" + + "<script>\n" + + " function test() {\n" + + " var input = document.getElementById('file1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + + " input.type = 'file';\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " var builder = document.createElement('div');\n" + + " builder.innerHTML = '<input type=\"file\">';\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = input.cloneNode(false);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + " }\n" + + "</script>\n" + + "</head><body onload='test()'>\n" + + "<form>\n" + + " <input type='file' id='file1'>\n" + + "</form>\n" + + "</body></html>"; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = { "initial-initial", "initial-initial", "newDefault-newDefault", "newDefault-newDefault" }, IE = { "initial-initial", "initial-initial", "initial-newDefault", "initial-newDefault" }) public void resetByClick() throws Exception { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -56,6 +56,40 @@ * @throws Exception if the test fails */ @Test + @Alerts({ "-", "-", "-", "-" }) + public void defaultValues() throws Exception { + final String html = "<html><head><title>foo</title>\n" + + "<script>\n" + + " function test() {\n" + + " var input = document.getElementById('hidden1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + + " input.type = 'hidden';\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " var builder = document.createElement('div');\n" + + " builder.innerHTML = '<input type=\"hidden\">';\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = input.cloneNode(false);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + " }\n" + + "</script>\n" + + "</head><body onload='test()'>\n" + + "<form>\n" + + " <input type='hidden' id='hidden1'>\n" + + "</form>\n" + + "</body></html>"; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = { "initial-initial", "initial-initial", "newValue-newValue", "newValue-newValue", "newDefault-newDefault", "newDefault-newDefault" }, IE = { "initial-initial", "initial-initial", "newValue-initial", "newValue-initial", Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlImageInput2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlImageInput2Test.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlImageInput2Test.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -34,6 +34,40 @@ * @throws Exception if the test fails */ @Test + @Alerts({ "-", "-", "-", "-" }) + public void defaultValues() throws Exception { + final String html = "<html><head><title>foo</title>\n" + + "<script>\n" + + " function test() {\n" + + " var input = document.getElementById('image1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + + " input.type = 'image';\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " var builder = document.createElement('div');\n" + + " builder.innerHTML = '<input type=\"image\">';\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = input.cloneNode(false);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + " }\n" + + "</script>\n" + + "</head><body onload='test()'>\n" + + "<form>\n" + + " <input type='image' id='image1'>\n" + + "</form>\n" + + "</body></html>"; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts({ "initial-initial", "initial-initial", "newValue-newValue", "newValue-newValue", "newDefault-newDefault", "newDefault-newDefault" }) public void resetByClick() throws Exception { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPasswordInputTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPasswordInputTest.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPasswordInputTest.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -168,6 +168,40 @@ * @throws Exception if the test fails */ @Test + @Alerts({ "-", "-", "-", "-" }) + public void defaultValues() throws Exception { + final String html = "<html><head><title>foo</title>\n" + + "<script>\n" + + " function test() {\n" + + " var input = document.getElementById('password1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + + " input.type = 'password';\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " var builder = document.createElement('div');\n" + + " builder.innerHTML = '<input type=\"password\">';\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = input.cloneNode(false);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + " }\n" + + "</script>\n" + + "</head><body onload='test()'>\n" + + "<form>\n" + + " <input type='password' id='password1'>\n" + + "</form>\n" + + "</body></html>"; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts({ "initial-initial", "initial-initial", "newValue-initial", "newValue-initial", "newValue-newDefault", "newValue-newDefault" }) public void resetByClick() throws Exception { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput2Test.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput2Test.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -713,29 +713,35 @@ * @throws Exception if the test fails */ @Test - @Alerts({ "on", "on", "on", "on" }) - public void defaultDefaultValue() throws Exception { + @Alerts(DEFAULT = { "on-", "on-", "on-", "on-", "on-" }, + IE = { "on-", "on-", "on-", "on-", "on-on" }) + public void defaultValues() throws Exception { final String html = "<html><head><title>foo</title>\n" + "<script>\n" + " function test() {\n" - + " alert(document.getElementById('rdo').value);\n" + + " var input = document.getElementById('radio1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" - + " var input = document.createElement('input');\n" + + " input = document.getElementById('radio2');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + " input.type = 'radio';\n" - + " alert(input.value);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + " var builder = document.createElement('div');\n" + " builder.innerHTML = '<input type=\"radio\">';\n" - + " var input = builder.firstChild;\n" - + " alert(input.value);\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + " input = input.cloneNode(false);\n" - + " alert(input.value);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + " }\n" + "</script>\n" + "</head><body onload='test()'>\n" + "<form>\n" - + " <input type='radio' id='rdo'>\n" + + " <input type='radio' id='radio1'>\n" + + " <input type='radio' id='radio2' checked='true'>\n" + "</form>\n" + "</body></html>"; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInput2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInput2Test.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInput2Test.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -34,6 +34,41 @@ * @throws Exception if the test fails */ @Test + @Alerts(DEFAULT = { "-", "-", "-", "-" }, + IE = { "Reset-", "Reset-", "Reset-", "Reset-" }) + public void defaultValues() throws Exception { + final String html = "<html><head><title>foo</title>\n" + + "<script>\n" + + " function test() {\n" + + " var input = document.getElementById('reset1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + + " input.type = 'reset';\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " var builder = document.createElement('div');\n" + + " builder.innerHTML = '<input type=\"reset\">';\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = input.cloneNode(false);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + " }\n" + + "</script>\n" + + "</head><body onload='test()'>\n" + + "<form>\n" + + " <input type='reset' id='reset1'>\n" + + "</form>\n" + + "</body></html>"; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = { "initial-initial", "initial-initial", "newValue-newValue", "newValue-newValue", "newDefault-newDefault", "newDefault-newDefault" }, IE = { "initial-initial", "initial-initial", "newValue-initial", "newValue-initial", Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSubmitInputTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSubmitInputTest.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSubmitInputTest.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -196,6 +196,41 @@ * @throws Exception if the test fails */ @Test + @Alerts(DEFAULT = { "-", "-", "-", "-" }, + IE = { "Submit Query-", "Submit Query-", "Submit Query-", "Submit Query-" }) + public void defaultValues() throws Exception { + final String html = "<html><head><title>foo</title>\n" + + "<script>\n" + + " function test() {\n" + + " var input = document.getElementById('submit1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + + " input.type = 'submit';\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " var builder = document.createElement('div');\n" + + " builder.innerHTML = '<input type=\"submit\">';\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = input.cloneNode(false);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + " }\n" + + "</script>\n" + + "</head><body onload='test()'>\n" + + "<form>\n" + + " <input type='submit' id='submit1'>\n" + + "</form>\n" + + "</body></html>"; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = { "initial-initial", "initial-initial", "newValue-newValue", "newValue-newValue", "newDefault-newDefault", "newDefault-newDefault" }, IE = { "initial-initial", "initial-initial", "newValue-initial", "newValue-initial", Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTextInput2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTextInput2Test.java 2013-05-05 14:41:41 UTC (rev 8262) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTextInput2Test.java 2013-05-05 17:46:16 UTC (rev 8263) @@ -34,6 +34,40 @@ * @throws Exception if the test fails */ @Test + @Alerts({ "-", "-", "-", "-" }) + public void defaultValues() throws Exception { + final String html = "<html><head><title>foo</title>\n" + + "<script>\n" + + " function test() {\n" + + " var input = document.getElementById('text1');\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = document.createElement('input');\n" + + " input.type = 'text';\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " var builder = document.createElement('div');\n" + + " builder.innerHTML = '<input type=\"text\">';\n" + + " input = builder.firstChild;\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + + " input = input.cloneNode(false);\n" + + " alert(input.value + '-' + input.defaultValue);\n" + + " }\n" + + "</script>\n" + + "</head><body onload='test()'>\n" + + "<form>\n" + + " <input type='text' id='text1'>\n" + + "</form>\n" + + "</body></html>"; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts({ "initial-initial", "initial-initial", "newValue-initial", "newValue-initial", "newValue-newDefault", "newValue-newDefault" }) public void resetByClick() throws Exception { |