blob: 0e28c678120ea0eb248ad92f2b9968f708050974 [file] [log] [blame]
/*******************************************************************************
* 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]);
}
}
}
}