/* GNU GENERAL LICENSE Copyright (C) 2006 The Lobo Project. Copyright (C) 2014 - 2017 Lobo Evolution This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either verion 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General License for more details. You should have received a copy of the GNU General Public along with this program. If not, see <http://www.gnu.org/licenses/>. Contact info: lobochief@users.sourceforge.net; ivan.difrancesco@yahoo.it */ package org.lobobrowser.html; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.lobobrowser.html.domimpl.HTMLDocumentImpl; import org.lobobrowser.html.domimpl.HTMLOptionElementImpl; public class HtmlOptionTest extends SimpleLoboTest { @Test public void basicTest() throws Exception { String htmlSource = "<html><head>" + "</head><body >" + "<select>" + " <option id='myId'>test1</option>" + " <option id='myId2'>test2</option>" + "</select>" + "</body></html>"; HTMLDocumentImpl doc = loadPage(htmlSource); assertTrue(OPTION.equals(doc.getElementById("myId").getNodeName())); } @Test public void getValue() throws Exception { String htmlSource = "<html>" + "<head><title>foo</title></head>" + "<body>" + " <form id='form1'>" + " <select name='select1' id='select1'>" + " <option value='option1' id='option1'>Option1</option>" + " <option value='number2' id='option2' selected>Number Two</option>" + " </select>" + " </form>" + "</body></html>"; HTMLDocumentImpl page = loadPage(htmlSource); final HTMLOptionElementImpl option1 = (HTMLOptionElementImpl)page.getElementById("option1"); final HTMLOptionElementImpl option2 = (HTMLOptionElementImpl)page.getElementById("option2"); assertEquals("option1", option1.getValue()); assertEquals("number2", option2.getValue()); } @Test public void asText() throws Exception { String htmlSource = "<html>" + "<head><title>foo</title></head>" + "<body>" + " <form id='form1'>" + " <select name='select1' id='select1'>" + " <option id='option1'>Option1</option>" + " <option id='option2' selected>Number Two</option>" + " <option id='option3'> Number 3 with blanks </option>" + " </select>" + " </form>" + "</body></html>"; HTMLDocumentImpl page = loadPage(htmlSource); final HTMLOptionElementImpl option1 = (HTMLOptionElementImpl)page.getElementById("option1"); assertEquals("Option1", option1.getTextContent()); final HTMLOptionElementImpl option2 = (HTMLOptionElementImpl)page.getElementById("option2"); assertEquals("Number Two", option2.getTextContent()); final HTMLOptionElementImpl option3 = (HTMLOptionElementImpl)page.getElementById("option3"); assertEquals("Number 3 with blanks", option3.getTextContent()); } }