@Test public void testRendererCorrectlyConfigured() { WPhoneNumberField textField = new WPhoneNumberField(); Assert.assertTrue("Incorrect renderer supplied", getWebXmlRenderer(textField) instanceof WPhoneNumberFieldRenderer); }
@Test(expected = IllegalArgumentException.class) public void testAddAutocompleteSectionEmpty() { WPhoneNumberField field = new WPhoneNumberField(); field.addAutocompleteSection(""); }
@Test(expected = PatternSyntaxException.class) public void testSetPatternInvalid() { WPhoneNumberField field = new WPhoneNumberField(); field.setPattern("[foo"); }
@Test(expected = IllegalArgumentException.class) public void testAddAutocompleteSectionNull() { WPhoneNumberField field = new WPhoneNumberField(); field.addAutocompleteSection(null); }
@Test public void testMaxLengthAccessors() { assertAccessorsCorrect(new WPhoneNumberField(), "maxLength", 0, 1, 2); }
@Test(expected = SystemException.class) public void testAddAutocompleteSectionWhenOff() { WPhoneNumberField field = new WPhoneNumberField(); field.setAutocompleteOff(); field.addAutocompleteSection("foo"); }
@Test public void testAutocompleteDefaultsToNull() { WPhoneNumberField field = new WPhoneNumberField(); Assert.assertNull(field.getAutocomplete()); }
@Test public void testReadOnly() throws IOException, SAXException, XpathException { WPhoneNumberField field = new WPhoneNumberField(); field.setReadOnly(true); assertSchemaMatch(field); assertXpathEvaluatesTo("true", "//ui:phonenumberfield/@readOnly", field); }
@Test public void testSuggestionsAccessors() { assertAccessorsCorrect(new WPhoneNumberField(), "suggestions", null, new WSuggestions(), new WSuggestions()); }
@Test public void testSetLocalPhoneAutocomplete() { WPhoneNumberField field = new WPhoneNumberField(); String expected = Telephone.LOCAL.getValue(); field.setLocalPhoneAutocomplete(); Assert.assertEquals(expected, field.getAutocomplete()); }
@Test public void testSetFullPhoneAutocompleteWithNullPhoneType() { WPhoneNumberField field = new WPhoneNumberField(); field.setFullPhoneAutocomplete(null); Assert.assertEquals(Telephone.FULL.getValue(), field.getAutocomplete()); }
@Test public void testSetAutocompleteWithNullTypeFormat() { WPhoneNumberField field = new WPhoneNumberField(); for (Telephone phone : Telephone.values()) { field.setAutocomplete(phone, null); Assert.assertEquals(phone.getValue(), field.getAutocomplete()); } }
@Test public void testPaintAutocompleteAllNull() throws IOException, SAXException, XpathException { WPhoneNumberField field = new WPhoneNumberField(); WContainer root = new WContainer(); root.add(field); field.setAutocomplete(null, null); assertSchemaMatch(field); assertXpathNotExists("//ui:phonenumberfield/@autocomplete", field); }
@Test public void testPaintAutocomplete() throws IOException, SAXException, XpathException { WPhoneNumberField field = new WPhoneNumberField(); WContainer root = new WContainer(); root.add(field); field.setFullPhoneAutocomplete(); assertSchemaMatch(field); assertXpathEvaluatesTo(field.getAutocomplete(), "//ui:phonenumberfield/@autocomplete", field); }
@Test public void testPaintAutocompleteOff() throws IOException, SAXException, XpathException { WPhoneNumberField field = new WPhoneNumberField(); WContainer root = new WContainer(); root.add(field); field.setAutocompleteOff(); assertSchemaMatch(field); assertXpathEvaluatesTo(field.getAutocomplete(), "//ui:phonenumberfield/@autocomplete", field); }
@Test public void testPaintAutocompleteAllArgs() throws IOException, SAXException, XpathException { WPhoneNumberField field = new WPhoneNumberField(); WContainer root = new WContainer(); root.add(field); field.setAutocomplete(Telephone.LOCAL, PhoneFormat.MOBILE); field.addAutocompleteSection("foo"); assertSchemaMatch(field); assertXpathEvaluatesTo(field.getAutocomplete(), "//ui:phonenumberfield/@autocomplete", field); }
@Test public void testAddAutocompleteSectionWithPhoneType() { String sectionName = "foo"; PhoneFormat phoneType = PhoneFormat.MOBILE; String expected = AutocompleteUtil.getCombinedForSection(sectionName, phoneType.getValue(), Telephone.FULL.getValue()); WPhoneNumberField field = new WPhoneNumberField(); field.setFullPhoneAutocomplete(phoneType); field.addAutocompleteSection(sectionName); Assert.assertEquals(expected, field.getAutocomplete()); }
@Test public void testSetLocalPhoneAutocompleteWithType() { WPhoneNumberField field = new WPhoneNumberField(); String expected; for (PhoneFormat phoneType : PhoneFormat.values()) { expected = AutocompleteUtil.getCombinedAutocomplete(phoneType.getValue(), Telephone.LOCAL.getValue()); field.setLocalPhoneAutocomplete(phoneType); Assert.assertEquals(expected, field.getAutocomplete()); } }
@Test public void testSetFullPhoneAutocompleteWithPhoneType() { String expected; WPhoneNumberField field = new WPhoneNumberField(); for (PhoneFormat phoneType : PhoneFormat.values()) { expected = AutocompleteUtil.getCombinedAutocomplete(phoneType.getValue(), Telephone.FULL.getValue()); field.setFullPhoneAutocomplete(phoneType); Assert.assertEquals(expected, field.getAutocomplete()); } }
@Test public void testXssEscaping() throws IOException, SAXException, XpathException { WPhoneNumberField field = new WPhoneNumberField(); field.setText(getMaliciousContent()); assertSafeContent(field); field.setToolTip(getMaliciousAttribute("ui:phonenumberfield")); assertSafeContent(field); field.setAccessibleText(getMaliciousAttribute("ui:phonenumberfield")); assertSafeContent(field); } }