| /******************************************************************************* |
| * Copyright (c) 2005, 2008 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| * |
| *******************************************************************************/ |
| |
| package org.eclipse.wst.xml.core.tests.dom; |
| |
| import junit.framework.TestCase; |
| |
| import org.eclipse.wst.xml.core.internal.provisional.NameValidator; |
| |
| public class NameValidatorTests extends TestCase { |
| |
| private int nTrials = 100; |
| |
| public NameValidatorTests(String name) { |
| super(name); |
| } |
| |
| private void doTest(int testNumber, String testString, Boolean expectedValidity) { |
| // System.out.println(); |
| boolean isValid = NameValidator.isValid(testString); |
| assertEquals("testNumber: " + testNumber, expectedValidity.booleanValue(), isValid); |
| // System.out.println(); |
| } |
| |
| public void testIsValid() { |
| Object[][] testees = new Object[][]{ |
| {"initial",Boolean.TRUE}, //0 |
| {"foo",Boolean.TRUE}, //1 |
| {"4",Boolean.FALSE}, //2 |
| {"9999", Boolean.FALSE}, //3 |
| {"f9999", Boolean.TRUE}, //4 |
| {"", Boolean.FALSE}, //5 |
| {"got space", Boolean.FALSE}, //6 |
| {" spacebefore", Boolean.FALSE}, //7 |
| {"spaceafter ", Boolean.FALSE}, //8 |
| {"ns:namespace", Boolean.TRUE}, //9 |
| {":funnyns", Boolean.TRUE}, //10 |
| /* ISSUE: is "endns:" really valid name */ |
| {"endns:", Boolean.TRUE}, //11 |
| {"us_underscore", Boolean.TRUE}, //12 |
| {"_underscore", Boolean.TRUE}, //13 |
| {"underscore_", Boolean.TRUE}, //14 |
| {"averylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersizeaverylongnamethatshouldgooverbuffersize", Boolean.TRUE}, //15 |
| {"<bracket", Boolean.FALSE}, //16 |
| {"bracket<", Boolean.FALSE}, //17 |
| {"bracket", Boolean.TRUE}, //18 |
| {"per.iod", Boolean.TRUE}, //19 |
| }; |
| for (int i = 0; i < testees.length; i++) { |
| for (int j = 0; j < nTrials; j++) { |
| doTest(i, (String)testees[i][0], (Boolean) testees[i][1]); |
| } |
| } |
| } |
| |
| } |